GUI und Thread

  • Hallo Leute,

    ich habe mal wieder ne Frage bei der ich icht richtig weiter komme. Ich möchte gern auf dem PI eine grafische Oberfläche mit Swing oder JavaFX basteln. Einfache Sachen funktionieren schon damit ganz gut. Aber man mus alles per "Klick" starten. Ich will ein extra thread der im Hintergrund paar Sachen automatisch ausführt.

    Aktueller Stand: Ich habe ein Button mit dem ich eine LED ein und wieder ausschalten kann. Als nächstes wollte ich Daten von der RS232 einlesen und in einem Textfeld anzeigen. Dafür habe ich versucht einen extra Thread zu starten(diese Class läuft in einem anderen Projekt seit Wochen super). Aber egal was ich versuche, der thread läuft genau einmal und stoppt dann.

    Was ich probiert habe:

    Das ist einfach das JavaFX Beispiel, wo man nach einem Klick einfach "Hello World!" bekommt. Ich habe einfach, dort wo die Grafik gestartet wird, den Start der neuen Threads mit eingebaut

    Es wird genau einmal ausgeführt, dann stehts. Die Oberfläche läuft problemlos.

    Also nächstes habe ich die Zeile einfach auf nen Button gelegt. Also wenn ich den Drücke soll der Thread los laufen. Aber ds gleiche, läuft einmal und stoppt dann.

    Hier mal die TestClass die ich starten will:


    Habt ihr ne Idee wo mein Fehler liegt oder ne kleine Anleitung wo ich dazu was nachlesen kann? Habe bereits im Netzt gesucht, aber dazu nichts gefunden. Oder ich suche einfach falsch. KA.

    Danke,
    Arno

  • Meine Augen flackern jetzt und ich seh nur noch {}, Der Entwiclker der Syntax hat zu viel Aschenputtel geschaut und besonders nervige Arbeit (klammer setzen) an erste Stelle gepackt :fies: ;). Aber uns C-Zottel hat imho recht. Er Durchläuft sie einmal, du sagst ihm ja nicht das er es mehrmals machen soll.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hallo dreamshader,

    ja, ich komm auch aus der C Ecke (Mikroprozessoren Marke Atmega und Xmega) aber ich wollte mich beim PI mal in ne neue Programmiersprache einarbeiten.
    Zumal Java halt auch dynamisch geht. Ich weiß, geht bei C++ auch :)

    dbv:
    Naja, ist denke ich ne Gewöhnungsache. Ich habs am Anfang mit Phyton probiert und habe das nicht gerafft. Mir fehlt ja schon bei vbs in Excel das ich dahinter keine ";" setzen darf :)

    Zu meiner Frage: Ich sach mal so

    FuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuckFuck!

    Ich sitze seit 3Tage(mit Unterbrechungen) an diesem Fehler und dann isses so ein Assiefehler. Kotz :wallbash::wallbash::wallbash::wallbash::wallbash::wallbash::wallbash:

    Jetzt geht es!! :bravo2: :thumbs1: Danke für deinen Tip :danke_ATDE:

    Grüße,
    Arno

    Edited once, last by Arno Nym (October 29, 2014 at 11:03 PM).

  • > (diese Class läuft in einem anderen Projekt seit Wochen super).
    Und warum laeuft sie denn im anderen Projekt laenger ???!

    > Aber egal was ich versuche, der thread läuft genau einmal und stoppt dann.
    Ja, weil er genau einmal durchlaeuft ...
    (Wie dreamshader schon sagte)

    Wenn er laenger laufen soll, braucht es eine Schleife in Blubb. (Dass Blubb
    kein schlauer Name ist, soll auch mal gesagt sein)

    Mit JavaFX habe ich noch nicht viel ausser einer kleinen Demo gemacht.
    Aber Swing ist NICHT THREADSAFE !

    Also sehr vorsichtig hantieren mit Threads und Java-GUIs.

  • Hallo Tell,

    ich weiß das es nicht sehr aussagefähig ist. Habe ich nur mal schnell zusammengeworfen um die Funktion zu testen ;)

    Das mit dem Threadsicher ist ein guter Hinweis. Da werde ich mich och einmal schlau machen. Ist JavaFX threadsicher?
    Muss auch mal sehen wie ich das Projekt jetzt aufziehe. Die Oberfläche soll eigentlich nur die Daten anzeigen. Da gibt es maximal paar Buttons um was zu laden.

    Thx,
    Arno

    Edited once, last by Arno Nym (October 29, 2014 at 11:07 PM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!