Hallo,
ich hätte eine Frage zu der seriellen schnittstelle und zwar habe ich eine GUI und mit dieser GUI verbinde ich mich mit einer anderen GUI.
Mein Problem ist jetzt folgendes: damit ich auf meiner GUI noch was machen kann, wenn ich mit der seriellen Schnittstelle verbunden bin, habe ich die Verbindung in eine Run- Methode gegeben. Jetzt implementiere ich das Interface SerialPortEventListener und muss daher die Methode serialEvent überschreiben. Diese Methode soll aber innerhalb der run- Methode stehen, damit meine GUI nicht blockiert wird.
Hat da vielleicht jemand eine Idee, wie ich da elegant lösen könnte, innerhalb der run- Methode die serialEvent- Methode implementieren geht ja nicht.
vielen Dank für die Hilfe!!
lg
Michl
ich hätte eine Frage zu der seriellen schnittstelle und zwar habe ich eine GUI und mit dieser GUI verbinde ich mich mit einer anderen GUI.
Mein Problem ist jetzt folgendes: damit ich auf meiner GUI noch was machen kann, wenn ich mit der seriellen Schnittstelle verbunden bin, habe ich die Verbindung in eine Run- Methode gegeben. Jetzt implementiere ich das Interface SerialPortEventListener und muss daher die Methode serialEvent überschreiben. Diese Methode soll aber innerhalb der run- Methode stehen, damit meine GUI nicht blockiert wird.
Hat da vielleicht jemand eine Idee, wie ich da elegant lösen könnte, innerhalb der run- Methode die serialEvent- Methode implementieren geht ja nicht.
vielen Dank für die Hilfe!!
lg
Michl
Code:
public class ComListener implements SerialPortEventListener{
public ComListener() {}
//die Methode serialEvent soll in der run- Methode stehen, da sonst meine GUI blockiert wird
public void serialEvent(SerialPortEvent event) {
if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
String sNachricht = "";
byte[] readBuffer = new byte[120];
try {
//System.out.println("in SerialEvent");
while (ins.available() > 0) {int numBytes = ins.read(readBuffer);}
String nachricht = new String(readBuffer);
char c = (char)0;
System.out.println("Nachricht: " + sNachricht);
}
catch (IOException e) {System.out.println("Fehler: "+e);
}
}
}
}