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
kylt Geschrieben 19. Februar 2011 Geschrieben 19. Februar 2011 - Ein Laufzeitfehler ohne Exception? - Catch mal und schreib uns was passiert.
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).
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?
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.
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.
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^^
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.
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
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?
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.
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