CSSNinja Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 (bearbeitet) Hallo! Ich brauche noch einmal eure geschätzte Hilfe;) Ich habe ein Programm mit einem Menü. Ein MenuItem soll ein weiteres Fenster erzeugen. Wenn ich dann debugge und auf das MenuItem klicke, kriege ich allerdings nur Fehlermeldungen. Im Hauptprogramm habe ich einen SelectionListener auf das MenuItem gelegt, der die Methode aus der anderen Klasse aufrufen soll: /*Menü-Events*/ FlächenrechnerItem.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent arg0) { /*shellFläche und displayFläche sind als Klassenvariablen definiert*/ Flächenrechner.init(shellFläche, displayFläche); } @Override public void widgetDefaultSelected(SelectionEvent arg0) {} }); beenden.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent arg0) { System.exit(0); } @Override public void widgetDefaultSelected(SelectionEvent arg0) {} }); Und die Methode in der anderen Klasse sieht folgendermaßen aus: import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class Flächenrechner { static Text ausgewähltes_Feld=null; public static void init(Shell shell, Display display){ shell.setSize(350, 400); shell.setText("Flächenrechner"); shell.open(); final Label höhe=new Label(shell, SWT.PUSH); höhe.setFont(new Font(display, "Century Gothic", 11, SWT.BOLD)); höhe.setText("Höhe"); höhe.setBounds(20, 20, 60, 25); final Label breite=new Label (shell, SWT.PUSH); breite.setFont(new Font(display, "Century Gothic", 11, SWT.BOLD)); breite.setText("Breite"); breite.setBounds(100,20,60,25); final Label tiefe=new Label(shell, SWT.PUSH); tiefe.setFont(new Font(display, "Century Gothic", 11, SWT.BOLD)); } } Ich hab schon viel ausprobiert, aber nichts war von Erfolg gekrönt... HELFT MIR!!! BITTE!!! Bearbeitet 12. Oktober 2012 von flashpixx Code-Tags Zitieren
Dragon8 Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Benutze bitte die Code-Tags wenn du Quelltext postest. Dann brauchst du deinen Quelltext auch nicht in verschiedenen grellen Farben formatieren. Außerdem solltest du schon die Fehlermeldung posten, wenn du schon eine bekommst. Ansonsten wird es recht schwer dir bei deinem Problem zu helfen. Zitieren
flashpixx Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Du möchtest lernen die Code-Tags zu verwenden und Du möchtest ebenfalls lernen, die Fehlermeldung zu posten. Das sollte weiter helfen: http://www.tty1.net/smart-questions_de.html#beprecise P.S.: Ich habe Deinen Quellcode korrigiert Zitieren
CSSNinja Geschrieben 12. Oktober 2012 Autor Geschrieben 12. Oktober 2012 Exception in thread "main" org.eclipse.swt.SWTException: Invalid thread access at org.eclipse.swt.SWT.error(SWT.java:4361) at org.eclipse.swt.SWT.error(SWT.java:4276) at org.eclipse.swt.SWT.error(SWT.java:4247) at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:775) at org.eclipse.swt.widgets.Display.create(Display.java:837) at org.eclipse.swt.graphics.Device.<init>(Device.java:137) at org.eclipse.swt.widgets.Display.<init>(Display.java:489) at org.eclipse.swt.widgets.Display.<init>(Display.java:480) at SWTButtonAction$30.widgetSelected(SWTButtonAction.java:428) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) at SWTButtonAction.main(SWTButtonAction.java:447) Das sind die Fehlermeldungen. Keine Sorge, ich habe auch schon gegoogelt. Hätte ich dort Antwort erhalten würde ich euch nicht nerven. Zitieren
flashpixx Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Erster Treffer bei Google Invalid Thread Access Error with Java SWT - Stack Overflow die Exception deutet darauf hin, dass Du etwas machst, was nicht zulässig ist Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.