【发布时间】:2017-11-28 13:36:51
【问题描述】:
我正在编写一个程序来分隔通过 RS-232 串行获得的数据。程序需要从三台机器和三个 COM 端口接收数据。
我已经编写了一些代码来更新程序界面中的 JTextArea,以通知用户程序当前正在侦听的端口,但是文本区域没有根据代码更新并且保持空白。代码是这样的:
public String ComStat;
public void comDefine()
{
if (Serial.currPortId.getName() == null) {
ComStat = "NONE";
} else if (Serial.currPortId.getName() == "COM1") {
ComStat = "COM1";
} else if (Serial.currPortId.getName() == "COM2") {
ComStat = "COM2";
} else if (Serial.currPortId.getName() == "COM3") {
ComStat = "COM3";
} else {
ComStat = "NONE";
}
}
对于 jTextArea 我们有:
private JPanel createPanel(String text) {
JPanel panel = new JPanel();
JLabel lbl = new JLabel(text);
panel.add(lbl);
listenState = new JTextArea(ComStat);
listenState.setBorder(new BevelBorder(BevelBorder.LOWERED));
listenState.setLineWrap(true);
listenState.setWrapStyleWord(true);
add(listenState, BorderLayout.SOUTH);
panel.add(listenState);
return panel;
}
任何有关让 JTextArea 实际显示它是否正在侦听端口以及它正在侦听的端口的帮助将不胜感激。我已经删除了大部分代码,以便于阅读我实际遇到问题的区域。
【问题讨论】:
-
我没有看到您更新文本区域的任何代码。这只是创建它的代码。没有从 COM 端口读取的代码,也没有将二进制数据转换为文本或将文本附加到文本区域的代码。
标签: java serial-port