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
public static TestClass TestC;
public static void main(String[] args) {
System.out.println("Start Grafik");
TestC = new TestClass();
launch(args);
}
Display More
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:
package javafxapplication5;
/**
*
* @author ArnoNym
*/
public class TestClass {
private final Thread TestClassThread;
TestClass() {
TestClassThread = new Thread() {
public void run() {
Blubb();
}
};
TestClassThread.start();
}
public void Blubb() {
System.out.println("Blubb! ..");
try {
Thread.sleep(250); // zykluszeit, wie oft Daten geholt und
// geschrieben werden
} catch (InterruptedException e) {
e.printStackTrace();
System.err.println("Exeption im Thread" + System.getProperty("line.separator") + e.toString());
}
}
}
Display More
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