Java-Applikation schließt sich von selbst!!

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen!

    Dies ist mein erster Beitrag hier in diesem Forum!!

    Ich erkläre euch einmal kurz mein Problem:

    Zurzeit arbeite ich an einer Java-Applikation, welche von einem RFM12-Modul Daten empfangen soll und diese dann in einer GUI ausgibt... Dieses Programm soll dann auf dem Raspberry Pi laufen. Außerdem wurde ein RFM12-Modul für das Raspberry Pi gekauft: Link... Natürlich wurde auch Java auf den Raspberry Pi installiert.

    Nach längerer Arbeit könnte ich dann die Java-Applikation auf meinen Notebook(Programm:Netbeans) fertig stellen und übertrug mein Programm auf das Raspberry Pi. Dann öffnete ich das Programm und klicke auf den Startknopf um die Daten zu empfangen.

    Aber hier kommt nun mein Problem: Immer wenn ich auf Starten klicke schließt sich die Java Applikation nach ca. 1sec von alleine und nicht mal im Hintergrund läuft Java mehr...

    Kann es sein, dass sich Java von alleine schließt da es zu viel Ressourcen des Raspberry Pi benötigt? Oder habt ihr sonst noch eine Idee was das sein könnte? Übrigens noch dazu: Im Quellcode des actionPerformed() des Buttons steht keine einzige Methode, die das Programm normalerweise schließen sollte...

    Ich bin leider ratlos, was das betrifft und stehe zurzeit vollkommen an...

    Schon mal DANKE im voraus

    LG :D

    Sry hier ist nochmal der Link :
    http://www.seegel-systeme.de/index.php?page…am-raspberry-pi

    Einmal editiert, zuletzt von regalhcs1 (10. Februar 2015 um 13:27)

  • Was heißt du hast das Programm auf den Pi übertragen?
    Also hast du die erzeugte .jar kopiert?
    Und mit welcher Bibliothek hast du die GUI gemacht?
    Auf dem PI muss man erst mal klären, ob da eine GUI überhaupt funktioniert.

    Startest du das aus der Konsole heraus, oder über den X Desktop?
    Im ersten Fall ist das mit der Grafischen Oberfläche so eine Sache...

    Wenn du NetBeans benutzt, dann kannst du dir ganz einfach eine Remote-Umgebung einrichten, und dein Programm dann live auf dem RPi compilieren und debuggen.
    Ist sehr komfortabel, und man sieht direkt wo evtl Probleme auftauchen können.

    Unter "Tools">"Java Platforms" kannst du das einrichten, das sieht dann in etwa so aus:

  • Danke für die Schnelle Antwort:


    Zu Tell:
    Ich habe in meinem Programm auch ein catch(), wo halt eine Fehlermeldung erscheint wenn , wenn ein Fehler auftritt :)

    CODE:

    Dieser Quellcode ist das actionPerformed() von Start-Button....
    Die Klasse Rfm12 ist sozusagen für das komplette ansprechen des RFM12-Moduls zuständig. wenn dann etwas emfangen wurde bzw. EIN Byte empfangen wurde... hab ich diesen dann im done() ausgebenen. Ich wollte anfangs nur schauen was empfangen wird. also keine Umwandeln von Byte auf String. das muss noch gemacht werden.


    Zu RyuKajiya:
    Naja ich habe eine .jar - Datei erzeugt und sie dann über USB-Stick auf den Pi übertragen...
    Was meinst du mit welcher Bibliothek habe ich die GUI gemacht? ich habe ganz einfach ein "JFrame Form" genommen, wie es halt üblich ist eine GUI zu gestalten bzw. zu machen.

    Außerdem verwende ich den Desktop als ich gebe in die Befehlszeile startx ein...
    Meinst du das es ein Problem werden kann mit ner JAVA - GUI am PI?
    ich weiß schon das Java auf dem Pi nicht das am "flüssigsten" :) laufendes Programm ist aber für solche Zwecke müsste das ja reichen, oder nicht?


    Von dieser Remote-Umgebung habe ich noch nichts gehört, aber das klingt sehr praktisch... Wie genau kann ich mir das den vorstellen? Ist das Pi dann über LAN mit dem PC verbunden bzw. wird das Programm auf den Pi übertragen und dort gestartet?


    Danke nochmal für die schnelle Antwort :)

    Einmal editiert, zuletzt von regalhcs1 (5. März 2015 um 18:49)

  • Es gibt hier extra Code-Tags, damit man den Code auch lesen kenn.
    Das sieht so aus:

    Code
    catch (IOException | CloneNotSupportedException | InterruptedException ex)
      {
          JOptionPane.showMessageDialog(null, ex.getMessage(), 
           "Fehler beim Starte des Programms aufgetreten!", JOptionPane.ERROR_MESSAGE);
      }

    Und jetzt ab in die Dok: ist ShowMessageDialog threadsafe ??

    Im doInBackground darf man normalerweise KEINE Swing-Objekte
    benutzen weil die nicht Threadsafe sind !

  • Leider ist das mit dem showMessageDialog auch nicht der Grund für das Abstürzen...
    könnte bis jetzt noch keine Lösung finden ?
    Hat vielleicht noch jemand eine Idee?

    Leider ist das mit dem showMessageDialog auch nicht der Grund für das Abstürzen...
    könnte bis jetzt noch keine Lösung finden ?
    Hat vielleicht noch jemand eine Idee?

    Einmal editiert, zuletzt von regalhcs1 (16. Februar 2015 um 20:10)

  • Habe diesen Ratschlag auch versucht... Er hat auch nach längeren Herumprobieren auch geklappt!

    Nun kommen halt folgende Exceptions die geworfen werden:
    Hierbei hab ich halt Putty und Xming verwendet... Die gleichen Exceptions werden auch bei Netbeans mit der Remote-Umgebung geworfen.

  • Dir wird eine klassische NullPointerException geworfen.
    In deinem Programm versuchst du auf ein Objekt zuzugreifen, welches aber null ist. Auf die Schnelle würde ich mal sagen einfach in "TestGUI.java" in der Zeile 112 anfangen, vielleicht findest du da was! :thumbs1:

    Grüße
    Heliox

    Nur durch Zeit vermag die Frucht zu reifen.......oder zu verfaulen!

    Einmal editiert, zuletzt von Heliox (20. Februar 2015 um 14:08)

  • Hallo,
    regalhcs1
    >> ... Ich habe in meinem Programm auch ein catch(), wo halt eine Fehlermeldung erscheint wenn , wenn ein Fehler auftritt ...
    Also Dir IST! Bekannt / Bewusst, wofür ein try-catch Block implementiert im code ist.
    Ich vermute, Du verstehst das aber nicht. Ich vergleiche es mit einer (Haus/Strom) Sicherung. Im deinem Programm befinden sich mehrere Fehler (Kurzschluss / üsse) - die Sicherung(en - mehrere) "fliegt raus" - also es wird eine Exception ausgeworfen.
    Ob es die NP (NullPointerException) oder andere! ausgeworfen wird, kommt IMMER! zu Deinen Abstürzen.

    >> ... Nun kommen halt folgende Exceptions die geworfen werden:

    Code
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
            at MobileEVotingSystem.TestGUI$2.done(TestGUI.java:112)
            at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
            at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
            at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
    ...
    ...

    NO!!!
    Die Meldung etabliert in sich nur Informationen zu einem! Fehler; und zwar zu eine NP, welcher (wie der Heliox) schon angedeutet aus der Zeile 112 des "TestGUI.java" generiert wird.
    Es wird das Thread selbst, oder das Code dahinter nicht akzeptiert.
    ...
    Erst wenn du alle Fehler beseitigen hast, kommt zu keinen Abstürzen.

    Gruß
    Georg

    Sollte ich "Müll- reden" :blush: - bitte mich (?) "auf die Nuss" hauen. :huh:

  • Sorry fürs verspätete zurück schreiben :)

    Vielen Dank für die Anworten! Das war sehr hilfreich!!
    Ich hab mir das zu Herzen genommen und könnte das Problem lösen....

    Nun habe ich erneut ein Problem beim Starten der Java-GUI....
    Ich bekomme folgende Error nachdem ich mein Programm mit Putty und Xming starten will(Programm wird mit dem sudo-Befehl gestartet, da das Wiring Pi benötigt):


    Was kann ich dagegen tun? hab schon einige Lösungsvorschläge im Internet gefunden aber nichts hat geholfen....

    Grüß
    regalhcs1

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!