0

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 クラスをクラス ファイルに拡張しようとさえ考えましたが、今のところうまくいきません。チュートリアル誰?

4

1 に答える 1