Java JFrame不更新按钮的设置

Fri*_*t89 5 java swing netbeans jframe jbutton

我目前在Java Jframe和没有更新的按钮方面遇到了一个小问题.

我试图禁用打印按钮,直到它打开的新JFrame打印完成并且JFrame关闭...

该按钮仅在新窗口出现时才会被禁用,但在此之前不会被禁用,这可能需要一点时间....

我通过执行以下操作将按钮设置为禁用: PrintBttn.setEnabled(false);

我尝试过调用mainPanel.revalidate(); mainPanel.repaint(); PrintBttn.revalidate(); PrintBttn.repaint以及其他论坛推荐的上述内容的混合...

我有点迷失在这一点,为什么它不会禁用按钮,直到出现一个新窗口,因为我做的第一件事是如上所示禁用它,然后通过并创建新的窗口....

谢谢,Erik

Dev*_*ler 6

最有可能的是,这是一个释放EDT以允许它重新绘制禁用按钮的问题.

通常,它看起来像这样:

PrintBttn.setEnabled(false);
SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        // Code to display the second JFrame goes here
    }
};
Run Code Online (Sandbox Code Playgroud)