import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.event.MouseInputListener; import javax.swing.table.DefaultTableColumnModel; import javax.swing.table.DefaultTableModel; public class TestSwing02 extends JPanel { private static final long serialVersionUID = 1L; private static final String COLUMN_NAME_1 = "DESCRIPTION"; private static final String COLUMN_NAME_2 = "URL"; private String[][] dbRecord = new String[0][2]; private DefaultTableModel tableModel = null; private JTable dbTable = null; private JScrollPane dbTablePane = null; public TestSwing02() { // create component this.tableModel = new DefaultTableModel(dbRecord, new String[]{COLUMN_NAME_1, COLUMN_NAME_2}); this.dbTable = new JTable(this.tableModel); this.dbTable.setDefaultEditor(Object.class, null); DefaultTableColumnModel columnModel = (DefaultTableColumnModel)this.dbTable.getColumnModel(); columnModel.getColumn(0).setPreferredWidth(190); columnModel.getColumn(1).setPreferredWidth(500); this.dbTablePane = new JScrollPane(dbTable); this.dbTablePane.setPreferredSize(new Dimension(690, 200)); this.dbTable.addMouseListener(new MouseTableSelectionActionHandler()); this.dbTable.addKeyListener(new KeyTableSelectionActionHandler()); setLayout(new BorderLayout()); add(this.dbTablePane, BorderLayout.CENTER); } private class MouseTableSelectionActionHandler implements MouseInputListener { public void mouseClicked(MouseEvent e) { if (dbTable.getSelectedRowCount() != 1) { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField(null); testSwing03.setUrlField(null); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, false, false); } else { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 0)); testSwing03.setUrlField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 1)); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, true, true); } } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { if (dbTable.getSelectedRowCount() != 1) { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField(null); testSwing03.setUrlField(null); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, false, false); } else { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 0)); testSwing03.setUrlField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 1)); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, true, true); } } public void mouseReleased(MouseEvent e) { if (dbTable.getSelectedRowCount() != 1) { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField(null); testSwing03.setUrlField(null); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, false, false); } else { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 0)); testSwing03.setUrlField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 1)); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, true, true); } } public void mouseDragged(MouseEvent e) { } public void mouseMoved(MouseEvent e) { } } private class KeyTableSelectionActionHandler implements KeyListener { public void keyPressed(KeyEvent e) { if (dbTable.getSelectedRowCount() != 1) { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField(null); testSwing03.setUrlField(null); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, false, false); } else { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 0)); testSwing03.setUrlField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 1)); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, true, true); } } public void keyReleased(KeyEvent e) { if (dbTable.getSelectedRowCount() != 1) { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField(null); testSwing03.setUrlField(null); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, false, false); } else { TestSwing03 testSwing03 = TestSwingMain.getTestSwing03(); testSwing03.setDescriptionField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 0)); testSwing03.setUrlField((String)dbTable.getValueAt(dbTable.getSelectedRow(), 1)); TestSwing04 testSwing04 = TestSwingMain.getTestSwing04(); testSwing04.setInsertModifyDeleteButtonEnabled(true, true, true); } } public void keyTyped(KeyEvent e) { } } public DefaultTableModel getTableModel() { return this.tableModel; } }