我正在尝试编写软件以从三个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.
更多推荐
发布评论