在java中以高效的方式在文本框中显示串口输出数据

时间:2009-12-22 14:44:43

标签: java textbox label

我正在制作一个GUI应用程序,用于通过串口操作远程设备。为此,我使用两个线程 - “读取”和“写入”串行端口。我的主应用程序框架包含一个带有menuItems和子菜单项的菜单栏和一个可滚动的文本区域。现在我将串口的所有输出都放到文本区域,这样它就像控制台一样。串口shell给我这样的命令输出

line1 word1 word2 wordd3 word4 word5 :
    line2 word1 = 0x00000000
    line3 word2 = 0x00000000
line3Word1 : line3word2
line4Word1 : line4Word2
line5Word1 : line5word2
line6Word1 : line6Word2

现在我想在标签中的主框架中添加一些线条。这样的事情。

line4Word1(in label1) : line4Word2(in label2)
line5Word1(in label3) : line5word2(in label4)

现在如果我在读取串口时对字符串line4Word1和line5Word1进行检查,我担心能够处理字符串并在实时数据接收时创建标签吗?

有人可以建议我更好的方法吗?

如果我无法清楚地解释问题,我很抱歉。但如果不清楚请告诉我,我会更好地解释它......

1 个答案:

答案 0 :(得分:3)

对于你的滚动区域,[JTextArea](http://java.sun.com/javase/6/docs/api/javax/swing/JTextArea.html#append(java.lang.String))的append()方法碰巧是线程安全的。要获得对其他GUI组件的线程安全更新,我会选择{{3} },还讨论了SwingWorker