Sélectionnez la cellule suivante JTable
Question
Je voudrais créer une table jTable dans laquelle, lorsque l'utilisateur sélectionne une cellule non modifiable, il devrait basculer automatiquement sur la cellule suivante modifiable. Important: l’utilisateur peut sélectionner une cellule au clavier (onglet ou flèche) et en cliquant avec la souris. C'est possible?? Comment le faire?
La solution
Ce lien contient des détails sur la programmation de sélections dans un composant JTable ; vous auriez besoin de chaîner mouselisteners / etc pour résoudre ce problème.
Autres conseils
La tabulation de tableau montre comment vous pouvez le faire avec clavier.
Je ne l'ai jamais essayé, mais vous devriez pouvoir utiliser MouseListener pour appeler la même action lorsque vous cliquez sur une cellule.
Vient de faire un test rapide pour MouseListener et il semble fonctionner correctement:
JTable table = new JTable(...);
final EditableCellFocusAction action =
new EditableCellFocusAction(table, KeyStroke.getKeyStroke("TAB"));
MouseListener ml = new MouseAdapter()
{
public void mouseReleased(MouseEvent e)
{
JTable table = (JTable)e.getSource();
int row = table.rowAtPoint(e.getPoint());
int column = table.columnAtPoint(e.getPoint());
if (! table.isCellEditable(row, column))
{
ActionEvent event = new ActionEvent(
table,
ActionEvent.ACTION_PERFORMED,
"");
action.actionPerformed(event);
}
}
};
table.addMouseListener(ml);