Salut tout le monde,
Voilà ce que j'ai (et qui fonctionne): un JTable composé de plusieurs colonnes dont la dernière est un JButton permettant de supprimer la ligne en question lorsqu'on l'active.
Pour cela, j'ai défini un nouveau modèle pour ma table (implantant des fonctions d'ajout et de suppression de lignes), un renderer et un editor pour la colonne du bouton. Ci-dessous le code où est effectuée la suppression, dans l'editor:
J'aimerais maintenant qu'il y ait un temps d'attente (disons 10 sec) entre le moment où le bouton est pressé et la suppression rendue effective, sans pour autant que cela bloque toute l'application.
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 public class JButtonCellEditor extends AbstractCellEditor implements TableCellEditor { public JButtonCellEditor() {} /** Get the edited component. */ public JButton getTableCellEditorComponent(final JTable table, final Object value, boolean isSelected, final int row, int column) { ((JButton)value).addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { ((MyDefaultTableModel)table.getModel()).removeRow(row); } }); return (JButton)value; } [...] }
Auriez-vous des pistes...?
Partager