更新JTextField的内容,以便它保持刷新一切?

时间:2011-09-15 14:05:48

标签: java swing user-interface concurrency

我有这段代码告诉我端口是否打开(可用的func)。我在我的GUI程序中调用该函数,如下所示:

String newavail = "" + available(9002) ;


JTextField tf1 = new JTextField("Is Port 9002(GWT Pet Store) available? \n" + newavail);

但是如果我关闭正在运行的GUI之外的端口,它就不会立即反映出这种变化。我读过你可以使用revalidate()命令,但是你如何使用它?

1 个答案:

答案 0 :(得分:3)

假设端口在Event Dispatch Thread之外关闭,您应该使用SwingUtilities设置JTextField实例的文本以反映可用性状态更改。


// we're outside the EDT
SwingUtilities.invokeLater(new Runnable(){
    @Override
    public void run(){
        // modify Swing component here
    }
});