Sélectionner le contenu d'un JTextField dans la cellule d'un tableau
J'ai implémenté un éditeur personnalisé pour les cellules d'un tableau. Ces cellules peuvent contenir des dates qui correspondent en fait à des heures, donc j'ai implémenté l'éditeur suivant:
Code:
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
|
public class DateCellEditor extends AbstractCellEditor implements TableCellEditor {
private JTextField field;
private DateFormat format;
public DateCellEditor(String format) {
super();
this.format = new SimpleDateFormat(format);
}
public Object getCellEditorValue() {
try {
return format.parse(field.getText());
} catch (ParseException e) {
LOG.error(e);
return null;
}
}
public Component getTableCellEditorComponent(final JTable table, Object value, boolean b, int row, final int column) {
field = new JTextField(format.format((Date) value));
field.selectAll();
return field;
}
} |
J'espérais que le field.selectAll() permettrait de sélectionner toute l'heure par défaut, pour que l'utilisateur puisse directement commencer à saisir une nouvelle heure. Mais ça ne fonctionne pas. Pour une raison qui m'échappe, quand j'édite une telle cellule, le contenu est désélectionné et je dois faire la sélection à la souris.
Une idée?