D
DaRolla
Gast
hallo,
ich habe vor kurzem erst mit SWT angefangen.
Ich habe ein grundlegendes Problem.
Hoffentlich kann mir hier jemand helfen.
Also:
ich habe eine SWT Klasse die Composit erweitert und ein paar Labels und ein Textfeld zeichnet.
ich habe eine Thread Klasse die Thread erweitert und die die SWT Klasse in der run-Methode startet und diese Schleife laufen lässt.
while( !shell.isDisposed() ) {
if( !display.readAndDispatch() )
display.sleep();
}
nun will ich in einer Testklasse die Thread Klasse starten.
Aber ich habe keine Kontrolle mehr über die Labels, die ich gerne beschreiben möchte.
Der Fehler:
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:2691)
at org.eclipse.swt.SWT.error(SWT.java:2616)
at org.eclipse.swt.SWT.error(SWT.java:2587)
at org.eclipse.swt.widgets.Widget.error(Widget.java:381)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:284)
at org.eclipse.swt.widgets.Control.redraw(Control.java:1412)
at de.schmitz.apps.earthdawn.ArenaGui.main(ArenaGui.java:47)
Dabei rufe ich doch nur die redraw Methode auf. Auch wenn ich setText auf ein Label (welches ich per Getter durchreiche) ausführe bekomm ich diesen Fehler.
Normalerweise sollte das klappen.
Das Problem ist dass ich keine Listener einsetzen möchte, weil die GUI nur zum Anzeigen der Inhalte da ist, die ich NICHT IN DEr GUI generieren möchte sondern extern.
Liebe grüße
Marco
ich habe vor kurzem erst mit SWT angefangen.
Ich habe ein grundlegendes Problem.
Hoffentlich kann mir hier jemand helfen.
Also:
ich habe eine SWT Klasse die Composit erweitert und ein paar Labels und ein Textfeld zeichnet.
ich habe eine Thread Klasse die Thread erweitert und die die SWT Klasse in der run-Methode startet und diese Schleife laufen lässt.
while( !shell.isDisposed() ) {
if( !display.readAndDispatch() )
display.sleep();
}
nun will ich in einer Testklasse die Thread Klasse starten.
Aber ich habe keine Kontrolle mehr über die Labels, die ich gerne beschreiben möchte.
Der Fehler:
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(SWT.java:2691)
at org.eclipse.swt.SWT.error(SWT.java:2616)
at org.eclipse.swt.SWT.error(SWT.java:2587)
at org.eclipse.swt.widgets.Widget.error(Widget.java:381)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:284)
at org.eclipse.swt.widgets.Control.redraw(Control.java:1412)
at de.schmitz.apps.earthdawn.ArenaGui.main(ArenaGui.java:47)
Dabei rufe ich doch nur die redraw Methode auf. Auch wenn ich setText auf ein Label (welches ich per Getter durchreiche) ausführe bekomm ich diesen Fehler.
Normalerweise sollte das klappen.
Das Problem ist dass ich keine Listener einsetzen möchte, weil die GUI nur zum Anzeigen der Inhalte da ist, die ich NICHT IN DEr GUI generieren möchte sondern extern.
Liebe grüße
Marco