Bonjour à tous !
J'ai un problème, je souhaite ajouter un JButton dans une colonne d'une JXTable.
Ce bouton j'arrive bien à l'ajouté, cependant quand je clique dessus aucune Action (ActionListener) n'est possible.
Voici mon code lorsque je crée mon bouton :
Puis comment je l'ajoute dans la JTable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 private class TableEditor extends AbstractCellEditor implements TableCellEditor, TableCellRenderer { private static final long serialVersionUID = 5598763435267075115L; @Override public Object getCellEditorValue() { // TODO Auto-generated method stub return null; } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { selectLineButton = new JButton("Send ID"); selectLineButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Test button"); }; }); return selectLineButton; }
J'espère avoir été claire !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 private void initComponent() { setLayout(new BorderLayout()); table = new JXTable(new TableModel()); ((JXTable) table).setColumnControlVisible(true); ((JXTable) table).setSortable(false); table.getColumnModel().getColumn(3).setCellEditor(new TableEditor()); table.getColumnModel().getColumn(3).setCellRenderer(new TableEditor()); if (selectLineButton != null) { selectLineButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println("Send Id"); } }); }
Merci d'avance![]()
Partager