首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFrame -向JSSC添加SerialPortEventListener

JFrame -向JSSC添加SerialPortEventListener
EN

Stack Overflow用户
提问于 2016-01-29 12:22:18
回答 1查看 1.4K关注 0票数 0

我需要一些关于EventListeners如何在java中工作的帮助。老实说,我唯一知道如何使用的监听器是ActionListeners,所以请原谅我不知道如何使用。首先,我想放一些参考资料。

我正在开发一个基于java的RFID扫描仪桌面应用程序,EPOCH给了我这个:JSSC

JSSC能够为我提供读取RFID所需的工具,但这一次,我发布了在我的应用程序上实现它的问题。

以下是我当前的代码:

第一,进口

代码语言:javascript
复制
import jssc.SerialPort;
import jssc.SerialPortEvent;
import jssc.SerialPortEventListener;
import jssc.SerialPortException;

现在让我们来看看这门课:

代码语言:javascript
复制
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);
        }
    }

最后,抽象方法..(老实说,我不知道这对我有什么作用,我现在正在拿起书。)

代码语言:javascript
复制
@Override
    public void serialEvent(SerialPortEvent spe) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

简单的说。我需要让我的RFID读取并将该值传递到项目中的任何位置。我甚至想过尝试将我的JFrame类扩展为一个类文件,但到目前为止,还没有成功。有人要看教程吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-09 22:30:04

您可以创建两个线程。第一个线程从串口(RFID)读取数据,而第二个线程处理特定于应用程序的任务。还可以考虑在java中使用串行通信管理器库进行串行端口通信。

请分享RFID硬件详细信息,以便我们可以考虑使用它的最佳应用程序设计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35076833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档