Boa tarde pessoal talvez este tema já tenha sido discutido anteriormente, mas como meu projeto está na metade do caminho fica um pouco complicado remodelar.
Eu recebo valores da serial, separo esses valores e gostaria de mostrar esses valores na classe responsável pela interface gráfica (Jframe).
classe principal FrmMain
public class FrmMain extends JFrame implements InterfaceConfiguration{
//metodos para criar botoes etc
...
//um atualiza o scrollbar e atualiza o jlabel
public void set_jscbarMod(int arg0) {
this.jscbar_modIndex.setValue(arg0);
this.jlbl_modIndex.setText(String.valueOf(arg0));
}
}
agora a interface que eu criei
public interface InterfaceConfiguration {
public void set_jscbarMod(int arg0);
}
a classe que irá separar os bytes e atualizar os dados na FrmMain
public class DivideBytes {
private InterfaceConfiguration interfaceCfg ;
private String modLevel;
public void divByte(int[] buffer) {
modLevel = String.valueOf(buffer[12]) + String.valueOf(13);
ConfigureMain();
}
public void ConfigureMain() {
interfaceCfg.set_jscbarMod(getModLevel());
}
public int getModLevel() {
return Integer.parseInt(modLevel);
}
e na classe serial
public void serialEvent(SerialPortEvent evt) {
// Determine type of event.
switch (evt.getEventType()) {
// When serial port receive 1 byte
case SerialPortEvent.DATA_AVAILABLE:
int[] data = new int[29];
try {
while (is.available() > 0) {
// buffer
int count = 0;
while (count < 29) {
data[count] = is.read();
}
div.divByte(data);
div.ConfigureMain();
}
} catch (IOException e) {
System.err.println(e);
return;
}
}
}
ma so erro que está acontecendo é
[color=red]
Exception in thread “Win32SerialPort Notification thread” java.lang.NullPointerException
at modulador.model.DivideBytes.ConfigureMain(DivideBytes.java:54)
at modulador.model.DivideBytes.divByte(DivideBytes.java:49)
at modulador.control.SerialConnection.serialEvent(SerialConnection.java:284)
at com.sun.comm.Win32SerialPort.sendDataAvailEvent(Win32SerialPort.java:649)
at com.sun.comm.NotificationThread.run(Win32SerialPort.java:878)
[/color]
como eu passo os parametros para poder atualizar um jlabel lá na classe FrmMain através de outra classe?
Obrigado pessoal