[SWT][table] supprimer une ligne.
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:
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... :(
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:
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) |