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
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.
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
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.
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden