• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problemme mit: Aufruf einer Klasse aus einem Frame

delwin

Newbie
Hi,
Wir beschäftigen uns mit der Ansteuerung eines GSM Modules über die Serielle Schnittstelle (COM Port). Wir haben jetzt endlich nach langem Programmieren eine Klasse erstellen können, welche unser Bedürfnis vom prallem Senden und Empfangen erfüllt.

Das heisst, wir können die Klasse, die den COM ansteuert, alleine laufen lassen und alle paar Sekunden einen Standardtext auf einen anderen COMPort senden, sowie die vom anderen COMPORT gesendete Texte gleichzeitig von der Klasse empfangen lassen, und diese auf der Konsole darstellen lassen.

Jetzt wollen wir mittels einem Frame auf diese Klasse zugreifen. Das heisst wir haben zwei Files mit jeweils einer Klasse:

1te Klasse: Darstellung des Frame, und verantwortlich für Steuerung (Hauptklasse)
Code:
public class Main extends javax.swing.JFrame {

2te Klasse: Klasse zum ansteuern des COM Ports:
Code:
public class nulltest implements Runnable, SerialPortEventListener {

Doch jetzt das Problem:
Es soll zuerst einmal einen Standardtext ausgegeben werden, wenn wir auf einen Knopf drücken. Wir haben auch soweit die COMKlasse (nulltest) eingebunden:
Code:
nulltest com;
com = new nulltest();

Doch beim Drücken auf den Knopf passiert nichts. In unsere Entwicklungsumgebung Netbeans bekommen wir dann parallel folgende Fehler im OUTPUT ausgegeben.
Code:
deps-jar:
compile-single:
run-single:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at bal_com_end_v1.nulltest.<init>(nulltest.java:115)
        at bal_com_end_v1.Main.<init>(Main.java:29)
        at bal_com_end_v1.Main$2.run(Main.java:82)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Mittlerweile wissen wir wirklich nicht mehr so recht weiter. Seht Ihr vielleicht einen elementaren Fehler? Bzw was sollte man beachten und anders machen?

Vielen Dank für jeden Eintrag,
gruss
delwin
 

spoensche

Moderator
Teammitglied
das objekt nulltest nicht erst im eventhandler des buttons erzeugen sondern schon vorher, sonst wird bei jedem klick ein neues nulltest objekt erstellt und das alte überchrieben.

ich vermute mal der fehler ensteht dadurch, weill ihr irgendwo einer event-methode die NullPointerException verursacht wird. ich kann aber so nicht sagen wo, weil ich den quellcode nicht kenne.

Beispiel für die ausgabe der gelesenen daten:

ausgabe.setText(com.read()); // gibt die gelesenen daten in einem textfeld aus.


das text feld oder die textarea für die ausgabe sollte auch nicht erst in der event methode stehen, sondern schon vorher initialisiert und im grame hinzugefügt werden.
 
Oben