1 package snow.sortabletable; 2 3 import javax.swing.*; 4 import javax.swing.event.*; 5 import java.awt.*; 6 import java.awt.event.*; 7 import javax.swing.table.*; 8 import java.util.*; 9 10 11 public class TableKeyBehaviourTest extends JFrame 12 { 13 TestModel testModel = new TestModel(); 14 JTable table = new JTable(); 15 16 17 public TableKeyBehaviourTest() 18 { 19 super("Test"); 20 super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 21 getContentPane().setLayout(new BorderLayout()); 22 23 getContentPane().add(new JScrollPane(table), BorderLayout.CENTER); 24 25 28 SortableTableModel stm = new SortableTableModel(testModel,0,true); 30 table.setModel(stm); 31 stm.installGUI(table); 32 33 38 table.setDefaultEditor(Double .class, new NumberTableCellEditor()); 39 table.setDefaultRenderer(Object .class, new CellRenderer()); 41 42 table.setColumnSelectionAllowed(false); 43 table.setRowSelectionAllowed(false); 44 45 setSize(800,800); 46 setVisible(true); 47 } 49 public static void main(String [] ignored) 50 { 51 new TableKeyBehaviourTest(); 52 } 53 54 class CellRenderer extends DefaultTableCellRenderer 55 56 57 { 58 public CellRenderer() 60 { 61 } 62 63 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 64 { 65 Component sup = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); 66 68 if (hasFocus) { 69 sup.setForeground(table.getSelectionForeground()); 70 sup.setBackground(table.getSelectionBackground()); 71 } 72 else { 73 sup.setForeground(table.getForeground()); 74 sup.setBackground(table.getBackground()); 75 } 76 77 return sup; 78 } 79 80 } 81 82 } | Popular Tags |