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

📄 tableview.java

📁 一个OR Mapping 工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                if ( t instanceof Table && f instanceof Field) {                  loadCmbForeignKey((Table) t, (Field) f);                }              }            } catch ( Exception ex ) {              ex.printStackTrace();            }            return super.editCellAt(row, column, e);          }        };      } catch (Throwable exception) {        System.err.println("Exception creating fieldRelationsTable property.");      }    };    return fieldRelationsTable;  }  /**   * Gets the tab property (javax.swing.JTabbedPane) value.   * @return The tab property value.   */  public javax.swing.JTabbedPane getTab() {    /* Returns the tab property value. */    if (fieldTab == null) {      try {        fieldTab = new javax.swing.JTabbedPane();      } catch (Throwable exception) {        System.err.println("Exception creating tab property.");      }    };    return fieldTab;  }  /**   * Gets the table property (org.dbgen.Table) value.   * @return The table property value.   * @see #setTable   */  public Table getTable() {    /* Returns the table property value. */    if (fieldTable == null) {      try {        fieldTable = new Table();      } catch (Throwable exception) {        System.err.println("Exception creating table property.");      }    };    return fieldTable;  }  /**   * Gets the tableNameField property (org.dbgen.view.TextField) value.   * @return The tableNameField property value.   */  public org.dbgen.view.TextField getTableNameField() {    /* Returns the tableNameField property value. */    if (fieldTableNameField == null) {      try {        fieldTableNameField = new org.dbgen.view.TextField();        fieldTableNameField.addSetFieldListener(this, TABLE_NAME_FIELD);      } catch (Throwable exception) {        System.err.println("Exception creating tableNameField property.");      }    };    return fieldTableNameField;  }  /**   * This method was created in VisualAge.   */  public void initConnections() {    /*     getCmbMasterKey().addActionListener(     new ActionListener() {     public void actionPerformed( ActionEvent ev )     {          JTable tbl = getRelationsTable();     tbl.revalidate();     tbl.repaint();     }     }     );     */    //	getCmbMasterKey().addItemListener(this);  }  /**   * This method was created by a SmartGuide.   */  public void initialize() {    GridBagConstraints c = new GridBagConstraints();    int i = 0;    JPanel generalPanel = getGeneralPanel();    generalPanel.setLayout(new GridBagLayout());    //generalPanel.setBorder(new BevelBorder(BevelBorder.RAISED));    Util.addGridBagComponent(generalPanel, c, ++i, new JLabel("Table Name"));    Util.addGridBagComponent(generalPanel, c, ++i, getTableNameField());    Util.addGridBagComponent(generalPanel, c, ++i, new JLabel("Class Name"));    Util.addGridBagComponent(generalPanel, c, ++i, getClassNameField());    Util.addGridBagComponent(generalPanel, c, ++i, new JLabel("Package Name (overrides project setting)"));    Util.addGridBagComponent(generalPanel, c, ++i, getPackageNameField());    // Table Fields    JPanel fieldsPanel = getFieldsPanel();    fieldsPanel.setLayout(new BorderLayout());    //JScrollPane scrollPane = JTable.createScrollPaneForTable(getFieldsTable());    //scrollPane.setPreferredSize(new Dimension(400, 300));    JScrollPane scrollPane = new JScrollPane(getFieldsTable());    JPanel buttonsPanel = new JPanel(new GridLayout(1, 2));    buttonsPanel.add(addButton = new JButton("Add Data Field"));    buttonsPanel.add(deleteButton = new JButton("Delete Data Field"));    addButton.addActionListener(this);    deleteButton.addActionListener(this);    fieldsPanel.add(BorderLayout.CENTER, scrollPane);    fieldsPanel.add(BorderLayout.SOUTH, buttonsPanel);    // Relation Fields    JPanel relationsPanel = getRelationsPanel();    relationsPanel.setLayout(new BorderLayout());    JScrollPane scrollPane2 = new JScrollPane(getRelationsTable());    JPanel buttonsPanel2 = new JPanel(new GridLayout(1, 3));    buttonsPanel2.add(addButton2 = new JButton("Add Relation"));    buttonsPanel2.add(deleteButton2 = new JButton("Delete Relation"));    buttonsPanel2.add(helpButton = new JButton("Help"));    addButton2.addActionListener(this);    deleteButton2.addActionListener(this);    helpButton.addActionListener(this);    relationsPanel.add(BorderLayout.CENTER, scrollPane2);    relationsPanel.add(BorderLayout.SOUTH, buttonsPanel2);    fieldCedMasterKey = new DefaultCellEditor( getCmbMasterKey());    fieldCedForeignTable = new DefaultCellEditor( getCmbForeignTable());    fieldCedForeignKey = new DefaultCellEditor( getCmbForeignKey());    fieldCedMasterKey.setClickCountToStart(2);    fieldCedForeignTable.setClickCountToStart(2);    fieldCedForeignKey.setClickCountToStart(2);    /*     relationsPanel = getRelationsPanel();     relationsPanel.setLayout(new BorderLayout());     relationsPanel.add(BorderLayout.CENTER, new JLabel("Not available yet.", SwingConstants.CENTER));     */    JTabbedPane tab = getTab();    tab.addTab("General", null, generalPanel);    tab.addTab("Fields", null, fieldsPanel);    tab.addTab("Relations", null, relationsPanel);    setLayout(new BorderLayout());    add(BorderLayout.CENTER, tab);    initConnections();    return;  }  /**   * This method was created in VisualAge.   */  public void loadCmbForeignKey( Table foreignTable, Field masterKey) {    try {      if ( foreignTable == null || masterKey == null ) {        getForeignKeyComboBoxModel().setObjects(null);        return;      }      Vector fields = new Vector();      Vector foreignKeys = foreignTable.getFields();      for ( int i=0; i<foreignKeys.size(); i++ ) {        Field f = (Field) foreignKeys.elementAt(i);        if ( f.getType() == masterKey.getType() &&          f.getLength() == masterKey.getLength() &&          f.getScale() == masterKey.getScale() )          fields.addElement(f);      }      getForeignKeyComboBoxModel().setObjects(fields);    } catch ( Exception ex ) {      ex.printStackTrace();    }  }  /**   * This method was created in VisualAge.   */  public void loadCmbForeignTable() {    try {      getForeignTableComboBoxModel().setObjects( getTable().getForeignTables());    } catch ( Exception ex ) {      ex.printStackTrace();    }  }  /**   * This method was created in VisualAge.   */  public void loadCmbMasterKey() {    try {      getMasterKeyComboBoxModel().setObjects( getTable().getFields());    } catch ( Exception ex ) {      ex.printStackTrace();    }  }  /**   * This method was created by a SmartGuide.   * @param id int   * @param value java.lang.String   */  public void setField(int id, String value) {    switch (id)    {    case TABLE_NAME_FIELD:      getTable().setTableName(value);    break;    case CLASS_NAME_FIELD:      getTable().setClassName(value);    break;    case PACKAGE_NAME_FIELD:      getTable().setPackageName(value);    break;    default:      throw new RuntimeException("BUG: Cannot set table field id=" + id + " value=" + value);    }    // XXX - DEBUG    //getTable().dump();    return;  }  /**   * Sets the table property (org.dbgen.Table) value.   * @param table The new value for the property.   * @see #getTable   */  public void setTable(Table table) {    /* Get the old property value for fire property change event. */    Table oldValue = fieldTable;    /* Set the table property (attribute) to the new value. */    fieldTable = table;    /* Fire (signal/notify) the table property change event. */    firePropertyChange("table", oldValue, table);    //	getRelationsTable().editingStopped( new javax.swing.event.ChangeEvent(this));    /* Update General Information */    getTableNameField().setText(table.getTableName());    getClassNameField().setText(table.getClassName());    getPackageNameField().setText(table.getPackageName());    /* Update Fields Information */    getFieldsTable().setModel(new TableFieldsModel(table));    getFieldsTable().setDefaultEditor(FieldType.class, typeCellEditor);    getFieldsTable().getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    /* Update Fields Information */    TableRelationsModel relationModel = new TableRelationsModel(table);    //	relationModel.setJTable(getRelationsTable());    relationTableSorter = new TableSorter(relationModel);    getRelationsTable().setModel(relationTableSorter);    relationTableSorter.addMouseListenerToHeaderInTable(getRelationsTable());    new TableHeaderRenderer( relationTableSorter, getRelationsTable().getTableHeader());    getRelationsTable().getColumnModel().getColumn(COLUMN_MASTER_KEY).setCellEditor(      fieldCedMasterKey);    getRelationsTable().getColumnModel().getColumn(COLUMN_FOREIGN_TABLE).setCellEditor(      fieldCedForeignTable);    getRelationsTable().getColumnModel().getColumn(COLUMN_FOREIGN_KEY).setCellEditor(      fieldCedForeignKey);    //	getMasterKeyComboBoxModel().setObjects( getTable().getFields());    loadCmbMasterKey();    loadCmbForeignTable();    //	fieldCedMasterKey.addCellEditorListener(this);    //	fieldCedForeignTable.addCellEditorListener(this);    //	fieldCedForeignKey.addCellEditorListener(this);    getRelationsTable().getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);    /* Update Relations Information */    // XXX - need implementation    return;  }  /**   * TESTING   * @param args java.lang.String[]   */  public static void test(java.lang.String[] args) {    Table table = new Table();    table.setPackageName("org.dbgen.test");    table.setClassName("Zip");    table.setTableName("zip");    table.addField(new Field(true, "zip_code", java.sql.Types.VARCHAR, 10, 0));    table.addField(new Field(false, "state_code", java.sql.Types.CHAR, 2, 0));    table.addField(new Field(false, "city_name", java.sql.Types.VARCHAR, 30, 0));    table.addField(new Field(false, "county_name", java.sql.Types.VARCHAR, 30, 0));    table.addField(new Field(false, "county_code", java.sql.Types.VARCHAR, 4, 0));    JFrame frame = new JFrame("TableView Test");    TableView view = new TableView();    view.setTable(table);    frame.getContentPane().add(view);    frame.pack();    frame.show();  }  /**   * This method was created in VisualAge.   * @param ev javax.swing.event.ListSelectionEvent   */  public void valueChanged( ListSelectionEvent ev ) {    if ( ev.getValueIsAdjusting() ||      getRelationsTable().getSelectedRowCount() <= 0)      return;    //System.out.println(getRelationsTable().getSelectedRowCount());    //System.out.println(getRelationsTable().getSelectedColumn());    // reload the foreign key column    Object t = getRelationsTable().getValueAt(      getRelationsTable().getSelectedRow(), COLUMN_FOREIGN_TABLE);    if ( !(t instanceof Table))      return;    Object f = getRelationsTable().getValueAt(      getRelationsTable().getSelectedRow(), COLUMN_MASTER_KEY);    if ( !(f instanceof Field))      return;    loadCmbForeignKey((Table) t, (Field) f);  }}

⌨️ 快捷键说明

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