Hallo!
Ich bin am Verzweifeln - erstmals möchte ich mit 2 Klassen arbeiten und bekomme das einfach nicht so richtig hin. :bahnhof:
Was bisher geschah:
Ich erstellte in Netbeans ein Paket "GPSAnzeige" mit den darin befindlichen Klassen "GUI.java" und "Erfassung.java".
In der Klasse GUI befindet sich die main Methode, die per Runnable den Thread zur Anzeige des Swing jFrames startet. Danach instanziert sie so die Klasse "Erfassung":
Die Klasse "Erfassung" beginnt, nach dem ganzen Import-Zeugs, so:
Die Klasse Erfassung hat die Aufgabe die COM-Schnittstelle mit dem angeschlossenen GPS zu überwachen und jedes Mal, wenn neue Daten im Puffer sind, diese zu bearbeiten. Mein Wunsch ist nun (für den Anfang), dass jeder neue String in dem in Swing eingebauten jTextField angezeigt wird.
Was tadellos funktioniert ist die Abfrage der COM-Schnittstelle, die Datenverarbeitung und die Ausgabe in der Konsole. Ich hatte nun diese Idee:
"daten" ist die Variable mit dem String. Die Ausgabe über System.out. erscheint, im jTextField tut sich dagegen nix. Baue ich dagegen in mein Swing-Fenster einen Button ein, der in der "GUI"-Klasse diesen Event auslöst, wird der korrekte Wert geholt und bei jedem Knopfdruck aktualisiert:
Trotz diverser Bücher und mehrerer Google- und Foren-Stunden komme ich einfach nicht dahinter, was ich falsch mache. ???:L Ist schon der Ansatz falsch? War das mit "extends" eine Schnapsidee? Müsste ich irgend was in "GUI" mit einem EventListener machen, der die Variable "daten" überwacht? Nur wie?
Ich bedanke mich schon jetzt für Eure Antworten!
Gruß, Oliver
Ich bin am Verzweifeln - erstmals möchte ich mit 2 Klassen arbeiten und bekomme das einfach nicht so richtig hin. :bahnhof:
Was bisher geschah:
Ich erstellte in Netbeans ein Paket "GPSAnzeige" mit den darin befindlichen Klassen "GUI.java" und "Erfassung.java".
In der Klasse GUI befindet sich die main Methode, die per Runnable den Thread zur Anzeige des Swing jFrames startet. Danach instanziert sie so die Klasse "Erfassung":
Code:
Erfassung erfassung = new Erfassung();
Die Klasse "Erfassung" beginnt, nach dem ganzen Import-Zeugs, so:
Code:
class Erfassung extends GUI implements Runnable, SerialPortEventListener {
Die Klasse Erfassung hat die Aufgabe die COM-Schnittstelle mit dem angeschlossenen GPS zu überwachen und jedes Mal, wenn neue Daten im Puffer sind, diese zu bearbeiten. Mein Wunsch ist nun (für den Anfang), dass jeder neue String in dem in Swing eingebauten jTextField angezeigt wird.
Was tadellos funktioniert ist die Abfrage der COM-Schnittstelle, die Datenverarbeitung und die Ausgabe in der Konsole. Ich hatte nun diese Idee:
Code:
jTextField1.setText(daten);
System.out.println(daten);
"daten" ist die Variable mit dem String. Die Ausgabe über System.out. erscheint, im jTextField tut sich dagegen nix. Baue ich dagegen in mein Swing-Fenster einen Button ein, der in der "GUI"-Klasse diesen Event auslöst, wird der korrekte Wert geholt und bei jedem Knopfdruck aktualisiert:
Code:
jTextField1.setText(Erfassung.daten);
Trotz diverser Bücher und mehrerer Google- und Foren-Stunden komme ich einfach nicht dahinter, was ich falsch mache. ???:L Ist schon der Ansatz falsch? War das mit "extends" eine Schnapsidee? Müsste ich irgend was in "GUI" mit einem EventListener machen, der die Variable "daten" überwacht? Nur wie?
Ich bedanke mich schon jetzt für Eure Antworten!
Gruß, Oliver