【发布时间】:2011-09-15 14:05:48
【问题描述】:
我有这段代码可以告诉我端口是否打开(可用功能)。我在我的 GUI 程序中这样调用该函数:
String newavail = "" + available(9002) ;
JTextField tf1 = new JTextField("Is Port 9002(GWT Pet Store) available? \n" + newavail);
但是,如果我在运行的 GUI 之外关闭端口,它不会立即反映此更改。我读到您可以使用 revalidate() 命令,但是您如何使用它呢?
【问题讨论】:
-
你的主要问题不是 Swing;当端口 9002 的可用性发生变化时,您必须找到一种方法来获得通知;您可能必须创建一个
Thread来定期检查该端口的可用性,然后在可用性发生变化时更新 GUI(使用SwingUtilities.invokeLater())。 -
@jfp - 非常感谢,这是一个非常有用的评论
标签: java swing user-interface concurrency