Hallo,
ich wollte mein Programm etwas übersichtlicher gestalten und habe deswegen eine Klasse aus der Datei in eine neue Java-Datei verlagert.
Ich habe die imports und extends gemacht und es kompiliert fehlerfrei.
Aber bei Ausführung des Programmes gibt es jetzt eine Exception die vorher nicht auftrat.
Es handelt sich um ein Programm, dass Daten über die serielle Schnittstelle sendet.
Die ausgelagerte Klasse dient dazu die Daten zu empfangen und in ein TextField auszugeben.
Exception in thread "Win32SerialPort Notification thread" java.lang.NullPointerException
at Receiver.serialEvent(Receiver.java:11)
at com.sun.comm.Win32SerialPort.sendDataAvailEvent(Win32SerialPort.java:649)
at com.sun.comm.NotificationThread.run(Win32SerialPort.java:878)
Hier die ausgelagerte Klasse, es wurde sonst nichts verändert weder an dieser Klasse noch an der von der sie erbt.
Was habe ich falsch gemacht, stimmt mit der Vererbung etwas nicht, oder darf ich die Klasse in diesem Fall nicht auslagern?
Wäre nett wenn mir da jemand einen Tip geben könnte.
Danke
ich wollte mein Programm etwas übersichtlicher gestalten und habe deswegen eine Klasse aus der Datei in eine neue Java-Datei verlagert.
Ich habe die imports und extends gemacht und es kompiliert fehlerfrei.
Aber bei Ausführung des Programmes gibt es jetzt eine Exception die vorher nicht auftrat.
Es handelt sich um ein Programm, dass Daten über die serielle Schnittstelle sendet.
Die ausgelagerte Klasse dient dazu die Daten zu empfangen und in ein TextField auszugeben.
Exception in thread "Win32SerialPort Notification thread" java.lang.NullPointerException
at Receiver.serialEvent(Receiver.java:11)
at com.sun.comm.Win32SerialPort.sendDataAvailEvent(Win32SerialPort.java:649)
at com.sun.comm.NotificationThread.run(Win32SerialPort.java:878)
Hier die ausgelagerte Klasse, es wurde sonst nichts verändert weder an dieser Klasse noch an der von der sie erbt.
Was habe ich falsch gemacht, stimmt mit der Vererbung etwas nicht, oder darf ich die Klasse in diesem Fall nicht auslagern?
Code:
import java.io.IOException;
import javax.comm.SerialPortEvent;
import javax.comm.SerialPortEventListener;
@SuppressWarnings("serial")
public class Receiver implements SerialPortEventListener{
public void serialEvent(SerialPortEvent event) {
if(event.getEventType()==SerialPortEvent.DATA_AVAILABLE){
byte[] readBuffer = new byte[256];
try {
while (in.available() > 0) {in.read(readBuffer);}
ausgabe.append("\n");
for (int i=0;i<readBuffer.length;i++) {
if(readBuffer[i]==0x02 && readBuffer[i+2]==0x55){
byte laenge = readBuffer[i+1];
byte abc[] = new byte[laenge-1];
for (int j=0;j<(laenge-1);j++){
abc[j] = readBuffer[i+3+j];
}
String bca = new String(abc);
ausgabe.append(bca);
}
if(readBuffer[i]==0x02 && readBuffer[i+2]!=0x55){
byte laenge = readBuffer[i+1];
for (int j=0;j<(laenge+4);j++){
int intumw = unsignedByteToInt(readBuffer[i+j]);
ausgabe.append(Integer.toHexString(intumw)+" ");
}
}
}
}
catch (IOException e) {System.out.println("Fehler: "+e);}
}
}
}
Wäre nett wenn mir da jemand einen Tip geben könnte.
Danke