如何读取SWT文本小部件上的串口

时间:2014-03-31 06:54:24

标签: java swt

我正在使用javax.comm软件包从串口读取一些数据。 数据将在SWT上显示为文本小部件。我添加了一个 eventListener到串口对象并发出notifyOnDataAvailable  是的,这样我的应用程序会在数据到达时收到通知。无论如何,在 事件处理程序,我尝试将新读取的数据附加到文本小部件, 但它不会将读取值附加到文本小部件。但是,当我尝试在控制台中打印相同时,它完美地做到了。我有一个类似的应用程序 用AWT写的,它没有这个问题。它有什么东西吗? 如何处理SWT处理主线程的方式?有没有办法解决我的问题 问题

这是我的代码 -

    public void serialEvent(SerialPortEvent evt) {
    if (evt.getEventType() == SerialPortEvent.DATA_AVAILABLE)
    {
        try
        { 
            byte singleData = (byte)input.read();

            // READING THE SERIAL PORT VALUE HERE IN
            // TEXT AREA CALLED txtLog


            if (singleData != NEW_LINE_ASCII)
            {
                logText = new String(new byte[] {singleData});

              //  System.out.print(logText);
                txtLog.append(logText);
            }
            else
            {
              txtLog.append("\n");
            }
        }
        catch (Exception e)
        {
            logText = "Failed to read data. (" + e.toString() + ")";
            txtLog.setForeground(Color.red);
            txtLog.append(logText + "\n");
        }
    }
}

0 个答案:

没有答案