package presentation; import javax.swing.*; import javax.swing.table.*; import java.awt.*; import java.awt.event.*; import java.util.*; import borland.jbcl.control.*; import borland.jbcl.layout.*; public class TableTestFrame extends JFrame { Vector columns = new Vector(); Vector[] data = new Vector[4]; Vector[] data2 = new Vector[4]; Table table; //Construct the frame public TableTestFrame() { buildData(); JComboBox aBox = new JComboBox(); aBox.addItem("NFC"); aBox.addItem("AFC"); aBox.addItemListener(new ItemListener_adapter(this)); table = new Table(columns); table.setRowData(data); table.setTableEditable(true); table.setColumnToolTip("Team","Go Rams"); table.setCellColor("Division",Color.blue); table.setCellEditor("Conference",aBox); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);}}); try { jbInit(); } catch (Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception{ this.setSize(new Dimension(400, 100)); this.setTitle("Table Example"); this.getContentPane().add(table.getScrollPane()); } private void buildData() { columns.addElement("Conference"); columns.addElement("Division"); columns.addElement("Team"); Vector vec = new Vector(); vec.addElement("NFC"); vec.addElement("Eastern"); vec.addElement("Philadelphia");; data[0] = vec; Vector vec2 = new Vector(); vec2.addElement("NFC"); vec2.addElement("Central"); vec2.addElement("Detroit"); data[1] = vec2; Vector vec3 = new Vector(); vec3.addElement("NFC"); vec3.addElement("Western"); vec3.addElement("San Francisco"); data[2] = vec3; } public void aBox_itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED) { int row = table.getSelectedRow(); switch (row) { case 0: table.setValueAt("Buffalo",0,2); break; case 1: table.setValueAt("Pittsburgh",1,2); break; case 2: table.setValueAt("Oakland",2,2); break; } this.invalidate(); this.validate(); this.repaint(); } } } class ItemListener_adapter implements ItemListener{ TableTestFrame adaptee; ItemListener_adapter(TableTestFrame adaptee) { this.adaptee = adaptee; } public void itemStateChanged(ItemEvent e) { adaptee.aBox_itemStateChanged(e); } }