⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exercise24_13chartcontroller.java

📁 java程序设计导论(daniel liang著) 所有偶数课后习题答案
💻 JAVA
字号:
import javax.swing.table.*;import java.util.*;import javax.swing.event.*;import javax.swing.*;import java.awt.event.*;public class Exercise24_13ChartController extends javax.swing.JPanel implements ActionListener {  // Table selection model  DefaultListSelectionModel listSelectionModel =    new DefaultListSelectionModel();  /** Creates new form Exercise24_13ChartController */  public Exercise24_13ChartController() {    initComponents();    listSelectionModel.addListSelectionListener(      new javax.swing.event.ListSelectionListener() {      public void valueChanged(ListSelectionEvent e) {        listSelectionModel_valueChanged(e);      }    });  }  /** This method is called from within the constructor to   * initialize the form.   * WARNING: Do NOT modify this code. The content of this method is   * always regenerated by the Form Editor.   */  private void initComponents() {//GEN-BEGIN:initComponents    tableModel = new MyTableModel();    jPanel1 = new javax.swing.JPanel();    jbtInsert = new javax.swing.JButton();    jbtDelete = new javax.swing.JButton();    jbtUpdate = new javax.swing.JButton();    jScrollPane1 = new javax.swing.JScrollPane();    jTable1 = new javax.swing.JTable();    setLayout(new java.awt.BorderLayout());    jbtInsert.setText("Insert");    jbtInsert.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        jbtInsertActionPerformed(evt);      }    });    jPanel1.add(jbtInsert);    jbtDelete.setText("Delete");    jbtDelete.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        jbtDeleteActionPerformed(evt);      }    });    jPanel1.add(jbtDelete);    jbtUpdate.setText("Update");    jbtUpdate.addActionListener(new java.awt.event.ActionListener() {      public void actionPerformed(java.awt.event.ActionEvent evt) {        jbtUpdateActionPerformed(evt);      }    });    jPanel1.add(jbtUpdate);    add(jPanel1, java.awt.BorderLayout.NORTH);    jTable1.setModel(new javax.swing.table.DefaultTableModel(      new Object [][] {      },      new String [] {      }    ));    jTable1.setModel(tableModel);    jTable1.setSelectionModel(listSelectionModel);    jScrollPane1.setViewportView(jTable1);    add(jScrollPane1, java.awt.BorderLayout.CENTER);  }//GEN-END:initComponents  private void jbtUpdateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtUpdateActionPerformed    try {      // Get the current row      this.tableModelToChartModel();    }    catch (Exception ex) {      ex.printStackTrace();    }  }//GEN-LAST:event_jbtUpdateActionPerformed  private void jbtDeleteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtDeleteActionPerformed    deleteRow();  }//GEN-LAST:event_jbtDeleteActionPerformed  private void tableModelToChartModel() {    // Notify the change to the chart model    int rowCount = tableModel.getRowCount();    String[] dataName = new String[rowCount];    double[] data = new double[rowCount];    for (int i=0; i<rowCount; i++) {      dataName[i] = (String)(tableModel.getValueAt(i, 0));      data[i] = ((Double)(tableModel.getValueAt(i, 1))).doubleValue();    }    this.getChartModel().setChartData(dataName, data);  }  private void deleteRow() {   // Remove the row in the table    tableModel.removeRow(      listSelectionModel.getLeadSelectionIndex());    // Notify the change to the circle model    int rowCount = tableModel.getRowCount();    tableModelToChartModel();  }  /**Handle the selection in the table*/  void listSelectionModel_valueChanged(ListSelectionEvent e) {    int selectedRow = jTable1.getSelectedRow();  }  public void setChartModel(Exercise21_6ChartModel newChartModel) {    chartModel = newChartModel;    chartModelToTableModel();    chartModel.addActionListener(this);  }  private void chartModelToTableModel() {    String[] dataName = chartModel.getDataName();    double[] data = chartModel.getData();    Object[][] rows = new Object[dataName.length][2];    for (int i=0; i<dataName.length; i++) {      rows[i][0] = dataName[i];      rows[i][1] = new Double(data[i]);    }    Object[] columnHeader = {"DataName", "Data"};    tableModel.setDataVector(rows, columnHeader);  }  public Exercise21_6ChartModel getChartModel() {    return chartModel;  }  private void jbtInsertActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtInsertActionPerformed    tableModel.insertRow(listSelectionModel.getLeadSelectionIndex(),      new Object[] {"", new Double(0)});  }//GEN-LAST:event_jbtInsertActionPerformed  public void actionPerformed(ActionEvent e) {    /**@todo: Implement this java.awt.event.ActionListener method*/    chartModelToTableModel();    repaint();  }  // Variables declaration - do not modify//GEN-BEGIN:variables  private MyTableModel tableModel;  private javax.swing.JPanel jPanel1;  private javax.swing.JScrollPane jScrollPane1;  private javax.swing.JTable jTable1;  private javax.swing.JButton jbtUpdate;  private javax.swing.JButton jbtInsert;  private javax.swing.JButton jbtDelete;  // End of variables declaration//GEN-END:variables  /** Holds value of property chartModel. */  private Exercise21_6ChartModel chartModel;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -