gpt4 book ai didi

java - 线程输出监听器

转载 作者:行者123 更新时间:2023-12-01 14:33:49 24 4
gpt4 key购买 nike

我需要创建一个线程,该线程从按下 Swing 按钮开始并等待来自 rs232 的输入,处理它并返回 String到我的变量。问题是如何做到这一点?

应该是这样的:

  String myOutputString = waitForInputThread();

或者,如果可以在 Swing 面板中制作类似监听器的东西,如果此 waitForInputThread 执行某些操作发送中断(例如,如果获取 rs232 输入,则更新 JTable 中的项目列表)。

您能给我一些线索、教程、示例等吗?

最佳答案

为了避免阻塞事件调度线程(即更新 GUI 的线程),请启动一个新线程与 RS232 交互。 SwingWorker class 是一种选择,但您也可以轻松地使用普通线程。1阻止 EDT 会导致 GUI 卡住,因此绝不能将其用于冗长的任务。

计算结果后,使用 SwingUtilities.invokeLater() 更新 GUI 。这可确保 GUI 更改发生在 EDT 上。

1 我倾向于发现通过 ExecutorService 执行的正常线程更适合单元测试(因为您可以编写一个 ExecutorService 来立即执行 Runnable,避免 JUnit 出现任何令人讨厌的线程问题)。

关于java - 线程输出监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16648626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com