JTextField不从串行端口更新(JTextField not updating from Serial Port)

编程入门 行业动态 更新时间:2024-10-25 02:28:53
JTextField不从串行端口更新(JTextField not updating from Serial Port)

我正在尝试编写软件以从三个RS232串行端口读取数据,并且我编写了一些代码来提供有关程序实际监听的端口的可视反馈。 我知道该程序正在COM1上进行侦听,因为我已将它打印到控制台,告诉我它正在侦听哪个端口。 问题在于它没有更新JTextFields以在实际GUI中通知用户。 我写的代码如下:

if (Serial.currPortId == (null)) { listenState.setText("NONE"); listenState.revalidate(); } while (Serial.currPortId != (null)) { listenState.setText(Serial.currPortId.getName()); listenState.revalidate(); if (Serial.currPortId.getName().equals("COM1")) { tab1sheet.setText(ImportMenu.serialImport.datafeed); tab1sheet.revalidate();} else if (Serial.currPortId.getName().equals("COM2")) { tab2sheet.setText(ImportMenu.serialImport.datafeed); tab2sheet.revalidate();} else if (Serial.currPortId.getName().equals("COM3")) { tab3sheet.setText(ImportMenu.serialImport.datafeed); tab3sheet.revalidate();} else {tab1sheet.setText("N/A"); tab1sheet.revalidate(); tab2sheet.setText("N/A"); tab2sheet.revalidate(); tab3sheet.setText("N/A"); tab3sheet.revalidate();} }

由于某种原因,它只是将“listenState”字段设置为NONE然后不更新,尽管声称在控制台中正在侦听COM1。

I'm attempting to write software to read data from three RS232 Serial Ports, and i've written some code to give visual feedback as to which port the program is actually listening on. I know the program is listening on COM1, as i've got it printing to console to tell me which port it's listening to. The issue is that it's not updating the JTextFields to inform the User in the actual GUI. The code i've written is as follows:

if (Serial.currPortId == (null)) { listenState.setText("NONE"); listenState.revalidate(); } while (Serial.currPortId != (null)) { listenState.setText(Serial.currPortId.getName()); listenState.revalidate(); if (Serial.currPortId.getName().equals("COM1")) { tab1sheet.setText(ImportMenu.serialImport.datafeed); tab1sheet.revalidate(); } else if (Serial.currPortId.getName().equals("COM2")) { tab2sheet.setText(ImportMenu.serialImport.datafeed); tab2sheet.revalidate(); } else if (Serial.currPortId.getName().equals("COM3")) { tab3sheet.setText(ImportMenu.serialImport.datafeed); tab3sheet.revalidate(); } else {tab1sheet.setText("N/A"); tab1sheet.revalidate(); tab2sheet.setText("N/A"); tab2sheet.revalidate(); tab3sheet.setText("N/A"); tab3sheet.revalidate(); } }

For some reason it's only ever setting the "listenState" field to NONE and then not updating, despite claiming to be listening to COM1 in console.

更多推荐

本文发布于:2023-08-06 00:58:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1442020.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:端口   不从   JTextField   Port   Serial

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!