EventListeners が Java でどのように機能するかについて助けが必要です。正直なところ、使用方法を知っている唯一のリスナーは ActionListeners です。使用方法がわからないことを許してください。はじめに、参考にさせていただきたいと思います。
私はJavaでRFIDスキャナーデスクトップアプリに取り組んでおり、EPOCHはこれをくれました: JSSC
JSSC は、RFID を読み取るために必要なツールを提供してくれましたが、今回はアプリケーションへの実装について発行しました。
これが私の現在のコードです:
まず、輸入
import jssc.SerialPort;
import jssc.SerialPortEvent;
import jssc.SerialPortEventListener;
import jssc.SerialPortException;
クラスの場合:
class SerialPortReader implements SerialPortEventListener {
SerialPort serialPort;
@Override
public void serialEvent(SerialPortEvent event) {
if(event.isRXCHAR()){//If data is available
if(event.getEventValue() == 10){//Check bytes count in the input buffer
//Read data, if 10 bytes available
try {
byte buffer[] = serialPort.readBytes(10);
}
catch (SerialPortException ex) {
System.out.println(ex);
}
}
}else if(event.isCTS()){//If CTS line has changed state
if(event.getEventValue() == 1){//If line is ON
System.out.println("CTS - ON");
}
else {
System.out.println("CTS - OFF");
}
}else if(event.isDSR()){///If DSR line has changed state
if(event.getEventValue() == 1){//If line is ON
System.out.println("DSR - ON");
}else {
System.out.println("DSR - OFF");
}
}
}
}
public class TestRF extends javax.swing.JFrame implements SerialPortEventListener{
SerialPort serialPort;
public TestRF() {
initComponents();
setSerialPort();
}
public void setSerialPort(){
SerialPort serialPort = new SerialPort("COM7");
try {
serialPort.openPort();//Open serial port
serialPort.setParams(9600, 8, 1, 0);//Set params.
byte[] buffer = serialPort.readBytes(10);//Read 10 bytes from serial port
//serialPort.closePort();//Close serial port
serialPort.addEventListener(this);//Add SerialPortEventListener
}
catch (SerialPortException ex) {
System.out.println(ex);
}
}
そして最後に、抽象的な方法.. (正直なところ、これが何をするのかわかりません。今、本を手に取っています。)
@Override
public void serialEvent(SerialPortEvent spe) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
物事を簡単に言えば。RFID を取得して、プロジェクトのどこでもその値を読み取って渡す必要があります。JFrame クラスをクラス ファイルに拡張しようとさえ考えましたが、今のところうまくいきません。チュートリアル誰?