Bonjour,
Je voudrai supprimer de ma table n'importe quelle ligne selectionnée par l'utilisateur, lorsque ce dernier clic sur un bouton.
J'ai donc fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 this.editorUI.getDeleteButton().addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { myTable.remove(myTable.getSelectionIndices()); } });
seulement, cette méthode déclenche une exception.
Si j'essaye de supprimer une ligne "à la main", en faisant( toujours dans widgetSelected ) par exemple :
ca marche si "3 " correspond à l'index de ma dernière ligne. Et dans tous les autres cas, ca ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 myTable.remove(3);
Quel est le problème?
A savoir que ma table ne comporte qu'une seule colonne d'entier non éditable.
Merci d'avance.
ps : voici l'exception générée :
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 java.lang.NullPointerException at org.eclipse.swt.widgets.TableItem.getBounds(TableItem.java:234) at org.eclipse.swt.widgets.Table.sendEraseItemEvent(Table.java:2829) at org.eclipse.swt.widgets.Table.CDDS_SUBITEMPREPAINT(Table.java:485) at org.eclipse.swt.widgets.Table.wmNotifyChild(Table.java:5333) at org.eclipse.swt.widgets.Control.WM_NOTIFY(Control.java:3794) at org.eclipse.swt.widgets.Composite.WM_NOTIFY(Composite.java:1166) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3298) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1842) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:258) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:183) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334) at org.eclipse.swt.widgets.Table.windowProc(Table.java:4491) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1842) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:258) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:183) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334) at org.eclipse.swt.widgets.Table.windowProc(Table.java:4491) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.CallWindowProc(OS.java:1842) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:258) at org.eclipse.swt.widgets.Table.callWindowProc(Table.java:183) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3334) at org.eclipse.swt.widgets.Table.windowProc(Table.java:4491) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4025) at org.eclipse.swt.internal.win32.OS.SendMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.SendMessage(OS.java:2514) at org.eclipse.swt.widgets.Table.remove(Table.java:2445)
Partager