Er der ikke én, der har et simpelt eksempel på anvendelse af renderer på en celle i jTable. F.eks. bare således at cellen fremstår som en jButton i en anden farve.
DefaultTableModel dm = new DefaultTableModel(); dm.setDataVector( new Object[][]{ {\"Group 1\",new JRadioButton(\"A\")}, {\"Group 1\",new JRadioButton(\"B\")}, {\"Group 1\",new JRadioButton(\"C\")}, {\"Group 2\",new JRadioButton(\"a\")}, {\"Group 2\",new JRadioButton(\"b\")}}, new Object[]{\"String\",\"JRadioButton\"});
JTable table = new JTable(dm) { public void tableChanged(TableModelEvent e) { super.tableChanged(e); repaint(); } }; ButtonGroup group1 = new ButtonGroup(); group1.add((JRadioButton)dm.getValueAt(0,1)); group1.add((JRadioButton)dm.getValueAt(1,1)); group1.add((JRadioButton)dm.getValueAt(2,1)); ButtonGroup group2 = new ButtonGroup(); group2.add((JRadioButton)dm.getValueAt(3,1)); group2.add((JRadioButton)dm.getValueAt(4,1)); table.getColumn(\"JRadioButton\").setCellRenderer(new RadioButtonRenderer()); table.getColumn(\"JRadioButton\").setCellEditor(new RadioButtonEditor(new JCheckBox())); JScrollPane scroll = new JScrollPane(table); getContentPane().add( scroll ); setSize( 200, 140 ); setVisible(true); }
public static void main(String[] args) { JRadioButtonTableExample frame = new JRadioButtonTableExample(); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.