Hallo,
ich habe nun seit ca 2 Tagen das selbe Problem. Will mir für meine ganzen Programme nu GUI schreiben aber irgendwas stimmt nicht. Ich bekomme ständig folgende Fehlermeldung:
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.checkDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.adressverwaltung.start.ui.UI_Buttons.<init>(UI_Buttons.java:9)
at org.adressverwaltung.start.ui.UI_Shell.<init>(UI_Shell.java:10)
at org.adressverwaltung.start.Start.main(Start.java:8)
Möchte für alle grafischen Elemente eigene Klassen nutzen und dann von dort aus starten, da die UI Klasse irgendwann zu groß werden würde.
Es funktioniert alles wunderbar solange ich alles in eine Klasse stecke aber wie gesagt wird das recht unübersichtlich wenn die Programme etwas größer sind.
3 Klassen:
Start, UI_Shell, UI_Buttons
Es ist wahrscheinlich n absolut blöder Fehler aber ich finde ihn nicht.
Schon mal Danke im Voraus
ich habe nun seit ca 2 Tagen das selbe Problem. Will mir für meine ganzen Programme nu GUI schreiben aber irgendwas stimmt nicht. Ich bekomme ständig folgende Fehlermeldung:
Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.SWT.error(Unknown Source)
at org.eclipse.swt.widgets.Display.checkDisplay(Unknown Source)
at org.eclipse.swt.widgets.Display.create(Unknown Source)
at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
at org.adressverwaltung.start.ui.UI_Buttons.<init>(UI_Buttons.java:9)
at org.adressverwaltung.start.ui.UI_Shell.<init>(UI_Shell.java:10)
at org.adressverwaltung.start.Start.main(Start.java:8)
Möchte für alle grafischen Elemente eigene Klassen nutzen und dann von dort aus starten, da die UI Klasse irgendwann zu groß werden würde.
Es funktioniert alles wunderbar solange ich alles in eine Klasse stecke aber wie gesagt wird das recht unübersichtlich wenn die Programme etwas größer sind.
3 Klassen:
Start, UI_Shell, UI_Buttons
Java:
public class Start {
public static void main(String[] args) {
UI_Shell ui_shell = new UI_Shell();
ui_shell.openShell();
}
}
Java:
public class UI_Shell {
private Display display = new Display();
private Shell shell = new Shell(display);
private UI_Buttons bt = new UI_Buttons();
public void openShell(){
shell.open();
shell.setBounds(50, 50, 600, 750);
bt.setButton();
while (!shell.isDisposed()){
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
Java:
public class UI_Buttons {
private Display display = new Display();
private Shell shell = new Shell(display);
private Button bt = new Button(shell, SWT.Selection);
public void setButton(){
bt.setBounds(50 ,50, 20, 20);
bt.setText("TEST");
}
}
Es ist wahrscheinlich n absolut blöder Fehler aber ich finde ihn nicht.
Schon mal Danke im Voraus
Zuletzt bearbeitet: