📄 tablerelationsmodel.java
字号:
package org.dbgen.view;import javax.swing.*;import javax.swing.table.*;import org.dbgen.*;import org.dbgen.event.*;/** * This class was generated by a SmartGuide. * */public class TableRelationsModel extends DefaultTableModel implements RelationChangedListener { static final int COL_MASTER_KEY = 0; static final int COL_FOREIGN_TABLE = 1; static final int COL_FOREIGN_KEY = 2; Table fieldTable = null; protected transient java.beans.PropertyChangeSupport propertyChange = new java.beans.PropertyChangeSupport(this); protected final static String[] columns = { "Master Key", "Foreign Table", "Foreign Key" }; /** * TableFieldsModel constructor comment. */ public TableRelationsModel() { super(); } /** * This method was created by a SmartGuide. * @param table org.dbgen.Table */ public TableRelationsModel(Table table) { super(); setTable(table); } /** * The addPropertyChangeListener method was generated to support the propertyChange field. */ public synchronized void addPropertyChangeListener(java.beans.PropertyChangeListener listener) { propertyChange.addPropertyChangeListener(listener); } /** * The firePropertyChange method was generated to support the propertyChange field. */ public void firePropertyChange(String propertyName, Object oldValue, Object newValue) { propertyChange.firePropertyChange(propertyName, oldValue, newValue); } /** * This method was created by a SmartGuide. * @return java.lang.Class * @param col int */ public Class getColumnClass(int col) { Object obj = getValueAt(0, col); if ( obj != null ) return getValueAt(0, col).getClass(); else return String.class; } /** * getColumnCount method comment. */ public int getColumnCount() { return columns.length; } /** * This method was created by a SmartGuide. * @return java.lang.String * @param col int */ public String getColumnName(int col) { return columns[col]; } /** * getRowCount method comment. */ public int getRowCount() { return getTable().getRelations().size(); } /** * 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; } /** * getValueAt method comment. * XXX - make N/A fields for non-length or non-scale field cases. */ public Object getValueAt(int row, int col) { Relation relation = (Relation) getTable().getRelations().elementAt(row); switch (col) { case 0: if ( relation.getMasterKey() != null ) return relation.getMasterKey(); else return null; case 1: if ( relation.getForeignTable() != null ) return relation.getForeignTable(); else return null; case 2: if ( relation.getForeignKey() != null ) return relation.getForeignKey(); else return null; default: return null; } } /** * This method was created by a SmartGuide. * @return boolean * @param row int * @param col int */ public boolean isCellEditable(int row, int col) { return true; } /** * Performs the refresh method. */ public void refresh() { fireTableChanged(new javax.swing.event.TableModelEvent(this, -1, -1)); return; } /** * This method was created by a SmartGuide. * @param table org.dbgen.Table */ public void relationAdded(RelationAddedEvent event) { refresh(); return; } /** * This method was created by a SmartGuide. */ public void relationDeleted(RelationDeletedEvent event) { refresh(); return; } /** * The removePropertyChangeListener method was generated to support the propertyChange field. */ public synchronized void removePropertyChangeListener(java.beans.PropertyChangeListener listener) { propertyChange.removePropertyChangeListener(listener); } /** * 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); /* Listen to field changed events */ table.addRelationChangedListener(this); return; } /** * This method was created in VisualAge. * @param obj java.lang.Object * @param row int * @param col int */ public void setValueAt(Object value, int row, int col) { try { Relation relation = (Relation) getTable().getRelations().elementAt(row); switch (col) { case 0 : relation.setMasterKey((Field) value); // relation.setForeignTable(new Table()); relation.setForeignKey(new Field()); break; case 1 : relation.setForeignTable((Table) value); break; case 2 : relation.setForeignKey((Field) value); break; default : } fireTableRowsUpdated(row, row); } catch (Exception ex) { ex.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -