Ciaoo a tutti,
siccome sono alle prime armi con Java e devo sviluppare una GUI, ho il problema che non riesco a visualizzare le informazioni che invio tramite un bottone, collegamento seriale (RS232) ad una bilancia dal PC.
In pratica la bilancia ha un comando specifico per la lettura del peso tramite seriale, e questo comando (chiamiamolo P) dovrebbe esser associato al Jbotton che ho creato, sotto forma di stringa nascosta.
Sotto vi posto i 2 metodi di lettura e scrittura (con l'opzione JTexArea, nel codice della GUI, funzionano correttamente):
codice:
.....
.....
public void serialEvent(SerialPortEvent event) {
switch (event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[64];
try {
// read data
int numBytes = inputStream.read(readBuffer);
inputStream.close();
//send the received data to the GUI
String result = new String(readBuffer,0,numBytes);
gui.setjtaReceived(result);
System.out.println(result);
}
catch (IOException e) {exceptionReport(e);}
break;
}
} //end of serialEvent() method
....
....
public void writetoport(String outString) {
try { if(portOpen)
outputStream.write(outString.getBytes());
System.out.println(outString.getBytes());
}
catch (IOException e) {exceptionReport(e);}
}
....
....
Con l'opzione Jbutton per l'invio "nascosto" della stringa P, al click del bottone:
codice:
.......
.......
jbPesoP.setText("P");
jbPesoP.setToolTipText("P");
jbPesoP.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbPesoPActionPerformed(evt);
}
});
private void jbPesoPActionPerformed(java.awt.event.ActionEvent evt){
if(Bilancia.portOpen){
System.out.println("\n "+jbPesoP.getText());
main.writetoport(jbPesoP.getText());
jbPesoIP.setText("P");
}
}
....
....
Non riesco a leggere il peso, forse mi sfugge qualcosa.
Spero di essere stato esaustivo.
in ogni caso vi ringrazio anticipatamente.