SWT contenu d'une cellule
Bonjour,
J'ai un tableau que je remplis d'éléments divers, et je voudrais récupérer l'event double click sur une ligne de mon tableau (j'ai utilisé SWT.FULL_SELECTION) pour lancer une méthode qui me fera pop une autre fenêtre. Or j'ai une erreur.
Voilà le morceau de code concerné :
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 36 37 38 39 40 41 42 43 44
| public class GuiSWT {
ModeXML toto = new ModeXML();
static Display display = new Display();
Shell shell = new Shell(display, SWT.RESIZE | SWT.CLOSE | SWT.MIN );
public void mainWindow()
{
int k = 0;
Table table = new Table(shell, SWT.FULL_SELECTION);
String[] blabla;
toto.initXML();
String[] titles = { "UserName", "Id" };
table.setHeaderVisible(true);
for (int loopIndex = 0; loopIndex < titles.length; loopIndex++) {
TableColumn column = new TableColumn(table, SWT.NULL);
column.setText(titles[loopIndex]);
}
while ((blabla = toto.displayXML(k)) != null)
{
TableItem item = new TableItem(table, SWT.NULL);
item.setText(new String[]{blabla[0], blabla[1]});
System.out.println(blabla[0]);
System.out.println(blabla[1]);
k++;
}
for (int loopIndex1 = 0; loopIndex1 < titles.length; loopIndex1++) {
table.getColumn(loopIndex1).pack();
}
table.pack();
shell.pack();
table.addListener(SWT.MouseDoubleClick, new Listener() {
public void handleEvent(Event event) {
TableItem item = (TableItem)event.item;
System.out.println(item.getText(0));
secondWindow();
}
});
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
} |
J'essaye de récuperer le contenu de la ligne sur laquelle on double click et de l'afficher, mais ca plante pendant l'éxecution (au moment ou je double click):
Code:
1 2 3 4 5 6 7 8 9
|
Exception in thread "main" java.lang.NullPointerException
at GuiSWT$1.handleEvent(GuiSWT.java:48)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at GuiSWT.mainWindow(GuiSWT.java:56)
at FirstWindow.main(FirstWindow.java:13) |
J'ai mis en rouge la ligne 56.
Merci d'avance.
Cordialement,
Bdloul