J'ai un éditeur personnalisé composé de plusieurs composants. Quelque chose comme:JTable - focus de l'éditeur composé
class MyCellEditor extends AbstractCellEditor implements TableCellEditor {
JTextArea textArea;
JButton button;
JPanel panel;
MyCellEditor() {
textArea = new JTextArea();
button = new JButton();
panel = new JPanel(new BorderLayout());
panel.add(textArea, BorderLayout.CENTER);
panel.add(button, BorderLayout.EAST);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
textArea.setText((String) value);
return panel;
}
public Object getCellEditorValue() {
return textArea.getText();
}
}
Je veux que le textArea
intérieur de saisir mise au point lors de l'édition commence. Cela fonctionne très bien quand je clique sur la cellule, mais pas quand je navigue sur la table avec le clavier et commence à taper dans cette cellule.
Comment puis-je résoudre ce problème?