Java JFrame 不更新按钮的设置

标签 java swing netbeans jframe jbutton

我目前遇到 Java Jframe 和未更新按钮的小问题。

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

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

我通过这样做将按钮设置为禁用:PrintBttn.setEnabled(false);

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

我现在有点迷茫,为什么它在新窗口出现之前不禁用按钮,因为我做的第一件事就是如上所示禁用它,然后通过并创建新窗口。 ...

谢谢, 埃里克

最佳答案

很可能是释放 EDT 以允许它重新绘制禁用按钮的问题。

一般来说,它看起来像这样:

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

关于Java JFrame 不更新按钮的设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255180/

相关文章:

java - PHP 是否用于快速简便的网站,而其他语言用于更复杂的网站?

Java Swing 在 Eclipse Oxy 4.7.3a 上运行?

variables - NetBeans 调试变量值

java.lang.ClassCastException : com. sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl 无法转换为 javax.net.ssl.HttpsURLConnection

java - Servlet 未连接到 MySQL 或 doPost() 不起作用

java - 在请求范围上迭代和设置属性

java - Scala 2.9 桥接方法

java - 我想将数据库中存储的文件名获取到jTable

java - 自动更新 Swing 应用程序 - Install4J

c++ - 尝试设置C编程环境