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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| private class CEvenementMaJTable implements ListSelectionListener
{
@Override
public void valueChanged( ListSelectionEvent lSE ) {
final JTextField txtValeurNum;
int ligne = maJTable.getSelectedRow();
if( lSE.getValueIsAdjusting() || ligne < 0 ) // Parfois, ligne vaut -1
return;
int colonne = tblVentilInstrum.getSelectedColumn();
switch( colonne ) // Je ne traite que les colonnes où je veux de la sélection auto de texte
{
case 0:
/.../
break;
case 1:
/.../
break;
case 2:
case 3: // Ici par exemple
maJTable.editCellAt( ligne, colonne );
DefaultCellEditor editCell = (DefaultCellEditor)( maJTable.getCellEditor( ligne, colonne ));
txtValeurNum = (JTextField)editCell.getComponent();
// La sélection doit être traitée par un autre Thread... ce qui oblige le composant de la cellule a être 'final'
SwingUtilities.invokeLater( new Runnable() {
public void run() {
txtValeurNum.selectAll();
}
});
break;
default:
/.../
break;
}
}
} |
Partager