Bonjour à tous,

Voilà je suis face à un problème et je me perds un peu les pieds dedans. Ce que je voudrais à la base c'est que lorsque je finis d'éditer une cellule, que l'édition se termine. Pour cela j'utilise à la base
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
_table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
Ca ne change rien.

Donc je me suis dit que je devais changer le comportement par défaut et j'ai donc fait comme ça :

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
16
17
18
19
20
		InputMap im = _table.getInputMap(JXTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
 
		//  Have the enter key work the same as the tab key
		KeyStroke tab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0);
		KeyStroke enter = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0);
 
		final Action oldEnterAction = _table.getActionMap().get(im.get(enter));
		Action stopEditAction = new AbstractAction()
		{
			public void actionPerformed(ActionEvent e) {
				oldEnterAction.actionPerformed( e );
				int row = _table.getSelectedRow();
				int col = _table.getSelectedColumn();
 
				TableCellEditor editor = _table.getCellEditor(row, col);
				if (editor != null)
					editor.stopCellEditing();
			}
		};
		_table.getActionMap().put(im.get(enter), stopEditAction);
Et ça ne fonctionne pas vraiment, voire pas du tout.

Donc si quelqu'un a une petite idée sur la question, je lui en serai extrêmement reconnaissante

Merci,