这里就是我想要做:防止GUI冻结,并有键取消操作/杀死线程
我有一个包含在一个持续连接的JTextArea
显示更新一JFrame
。如果用户想要取消连接,则应该能够按JButton
。但是,由于连接在尝试连接时阻塞(使用)线程,因此GUI变为冻结状态。我正在寻找一个快速修复。可能在单独的线程上有ActionListener
?尽管我可以基本使用runnables,但我对线程没有太多经验。
答案与使用EDT有关吗?如果是的话,这应该如何实施?
PS为了澄清,该按钮应该能够杀死创建连接的线程。看完后,似乎是一个executorService。可以帮助这个?是?或根本没有?
所以你不能在连接上使用超时参数? – 2013-04-29 10:59:21
这实际上是在建立连接并且设备使用文本协议进行通信之后。我希望能够取消尝试,如果其他设备不响应,即我会卡住尝试从网络读取流。 – 2013-04-29 11:17:19