Asgar13 Geschrieben 17. Februar 2011 Geschrieben 17. Februar 2011 Hallo, ich habe mir ein kleines Programm geschrieben: import javax.swing.*; import java.awt.*; import java.awt.event.*; class action extends JFrame{ private static final long serialVersionUID =-1113582265865921787L; JButton weiter,abbruch; JTextField x1,x2,x3,x4,x5,x6; class MeinActionLauscher implements ActionListener{ public void actionPerformed(ActionEvent e){ x1.setText("Hallo"); } } action(String titel) { super(titel); weiter = new JButton("Weiter"); abbruch = new JButton("Abbruch"); x1 = new JTextField("",15); x2 = new JTextField("",15); x3 = new JTextField("",15); x4 = new JTextField("",15); x5 = new JTextField("",15); x6 = new JTextField("",15); setLayout(new FlowLayout()); add(x1); add(x2); add(x3); add(x4); add(x5); add(x6); add(weiter); add(abbruch); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); weiter.addActionListener(new MeinActionLauscher()); } } public class Main{ public static void main(String[] args){ action fenster = new action("Titel"); fenster.pack(); fenster.setSize(500,200); fenster.setVisible(true); } } Leider hängt sich die GUI bei dem Buttondruck auf. Weiß jemand warum die GUI sich aufhängt?(Habe Linux Debian) mfg Asgar13 Zitieren
kylt Geschrieben 19. Februar 2011 Geschrieben 19. Februar 2011 - Ein Laufzeitfehler ohne Exception? - Catch mal und schreib uns was passiert. Zitieren
acloud Geschrieben 21. Februar 2011 Geschrieben 21. Februar 2011 Hallo, unter Windows 7 32-Bit mit Netbeans und Java 6.23 bekomme ich keinen Fehler, die GUI arbeitet einwandfrei. Dürfte also an einer veralteten/buggy Java-Version für Debian liegen (falls du auch das "originale" Java benutzt und nicht etwa gcj). Zitieren
Asgar13 Geschrieben 21. Februar 2011 Autor Geschrieben 21. Februar 2011 Danke für die Antworten^^ Ich habe jetzt ein catch in den ActionLauscher eingebaut(import auch) und der gibt mir keine Fehlermeldung class MeinActionLauscher implements ActionListener{ public void actionPerformed(ActionEvent e){ try{ String aCmdStr ="sh /home/name mk.sh"; Runtime.getRuntime().exec(aCmdStr).waitFor(); Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "ls -la"}); x1.setText("Funktioniert"); } catch(IOException ioexp){ x1.setText("Fehler beim ausführen der Datei..."); } catch(InterruptedException iexp){ x2.setText("Fehler beim ausführen der Datei..."); } } } Leider compiliere ich dies schon über gcj. name@mytux:~/Desktop$ name@mytux:~/Desktop$ gcj --main=Main -o test Main.java name@mytux:~/Desktop$ ./test Getötet name@mytux:~/Desktop$ Habt Ihr weitere Vorschläge? Zitieren
kylt Geschrieben 21. Februar 2011 Geschrieben 21. Februar 2011 Nimm mal den Exception Catch mit auf. Wenn dieser auch schon fehlschlägt, kann dies wirklich nur an der Konstellation mit deiner gewählten Distribution liegen. Zitieren
Asgar13 Geschrieben 23. Februar 2011 Autor Geschrieben 23. Februar 2011 catch(Exception exp){ x3.setText("Fehler beim ausführen der Datei..."); } Habe ich jetzt gemacht. Funktioniert immer noch nicht. Heißt wohl sich über Distributionen informieren. Wenn ich den Fehler gefunden habe poste ich ihn hier rein. Zitieren
Asgar13 Geschrieben 23. Februar 2011 Autor Geschrieben 23. Februar 2011 name@mytux:~$ uname -a Linux mytux 2.6.26-2-686 #1 SMP Thu Nov 25 01:53:57 UTC 2010 i686 GNU/Linux name@mytux:~$ cat /etc/issue Debian GNU/Linux 5.0 \n \l Soweit meine Distributionen. Ich habe das Programm dann auf einen anderen Linux Debian Rechner(gleiche Software andere Hardware) getestet und da bricht er bei einem Mouseklick ab. Dann suche ich mal weiter^^ Zitieren
kylt Geschrieben 23. Februar 2011 Geschrieben 23. Februar 2011 Hallo, würde nicht tippen dass es an der Hardware liegt. BTW: Debbug mit setText halte ich für schlecht, mach lieber nen Druck des Stacktrace , daran könnte es auch noch liegen. Zitieren
Asgar13 Geschrieben 24. Februar 2011 Autor Geschrieben 24. Februar 2011 Ok, ich habe eine GUI mit java SWT hinbekommen und diese läuft auch, bleibt nur noch die Frage, wieso swing nicht funktioniert? Danke nochmal für die Hilfe Zitieren
Ezra Geschrieben 25. Februar 2011 Geschrieben 25. Februar 2011 Bei mir unter Ubuntu läuft Dein Programm auch einwandfrei. Nutzt Du das Open JDK oder das von Sun? Zitieren
Ezra Geschrieben 6. März 2011 Geschrieben 6. März 2011 Nimm das von Sun. Open JDK macht durchaus manchmal Probleme, die schlecht nachzuvollziehen sind. 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.