Hallo zusammen.
Ich bin ein Neuling in der Java-Programmierung und habe eine kleines Projekt gestartet nun habe ich aber ein Problem
mit dem TextArea. Ich bekomme von einer I/O-Karte über die COM-Schnittstelle nach absenden von "s0" die Auswertung
zurück, welche ich auslese und einem Byte-Array zwischenlagere um diess anschliessend mit dem StringBuilder zusammen zu setzen. Wenn ich diesen String mittels append() ans TextArea sende funktioniert das wunderbar. Schicke ich das ganze per setText() dann kommt es GELEGENTLICH vor, dass nicht alles ankommt.
Beispiel:
append():
Channel N1:1760mV
Channel N2:1684mV
Channel N3:1642mV
Channel N4:1592mV
Channel N5:1592mV
Channel N6:1628mV
Channel N7:1672mV
Channel N8:1592mV
setText():
hannel N4:1592mV
Channel N5:1592mV
Channel N6:1628mV
Channel N7:1672mV
Channel N8:1592mV
Kann mir da vielleich jemand weiterhelfen? Besten Dank jedenfalls im voraus.
[/code]
Ich bin ein Neuling in der Java-Programmierung und habe eine kleines Projekt gestartet nun habe ich aber ein Problem
mit dem TextArea. Ich bekomme von einer I/O-Karte über die COM-Schnittstelle nach absenden von "s0" die Auswertung
zurück, welche ich auslese und einem Byte-Array zwischenlagere um diess anschliessend mit dem StringBuilder zusammen zu setzen. Wenn ich diesen String mittels append() ans TextArea sende funktioniert das wunderbar. Schicke ich das ganze per setText() dann kommt es GELEGENTLICH vor, dass nicht alles ankommt.
Beispiel:
append():
Channel N1:1760mV
Channel N2:1684mV
Channel N3:1642mV
Channel N4:1592mV
Channel N5:1592mV
Channel N6:1628mV
Channel N7:1672mV
Channel N8:1592mV
setText():
hannel N4:1592mV
Channel N5:1592mV
Channel N6:1628mV
Channel N7:1672mV
Channel N8:1592mV
Kann mir da vielleich jemand weiterhelfen? Besten Dank jedenfalls im voraus.
Code:
//Empfangen der Daten vom DATENERFASSUNGSBAUSTEIN
public class commListener implements SerialPortEventListener{
public void serialEvent(SerialPortEvent event) {
if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
byte[] ReaderArray = new byte[154];
try {
while (ins.available() > 0) {
int numBytes = ins.read(ReaderArray);
}
String nachricht = new String(ReaderArray);
ausgabe.append(nachricht); //ausgabe ist das erste TextArea
ausgabe3.setText(nachricht); //ausgabe3 ist das zweite TextArea
CH1.setText(nachricht.substring(13, 17)); //Wert Kanal 1 an Label CH1
CH2.setText(nachricht.substring(32, 36)); //Wert Kanal 2 an Label CH2
CH3.setText(nachricht.substring(51, 55)); //Wert Kanal 3 an Label CH3
CH4.setText(nachricht.substring(70, 74)); //Wert Kanal 4 an Label CH4
CH5.setText(nachricht.substring(89, 93)); //Wert Kanal 5 an Label CH5
CH6.setText(nachricht.substring(108, 112)); //Wert Kanal 6 an Label CH6
CH7.setText(nachricht.substring(127, 131)); //Wert Kanal 7 an Label CH7
CH8.setText(nachricht.substring(146, 150)); //Wert Kanal 8 an Label CH8
}
catch (IOException e) {
System.out.println("Fehler: "+e);
}
}
}
}