java - 如何判断 JFrame 窗口是否已经打开?

标签 java swing netbeans jframe singleton

我有一个 JFrame,它带有一个 Button,可以打开另一个 JFrame。但我希望按钮只打开第二帧一次。问题是,每次单击它时,我都会得到一个新的框架实例。这一定是一个非常普遍的问题,因为我正在阅读一本关于如何创建此 GUI 的书。我觉得很奇怪,作者没有提到这个“功能”。

那么如何防止我的按钮打开新框架的多个副本?

最佳答案

与其让按钮每次都创建一个新的 JFrame,不如让第二个 JFrame 成为第一个 JFrame 的成员,并且只让按钮调用 jframe2.setVisible(true);:

class JFrame1 {
   JFrame2 jframe2=...;
   JButton button=...;

   JFrame1() {
     ...
     button.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) {
         jframe2.setVisible(true);
       }
     });
     ...
   }
}

关于java - 如何判断 JFrame 窗口是否已经打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20914834/

相关文章:

java - 验证结果集中的 JTextField 数据

java - 向 Jframe 添加控制台

java - 尝试划分颜色来绘制彩虹 donut

java - 是否可以使用 Java 在 Netbeans 中创建可视化插件?

java - 如何自定义独立netbeans应用程序的java选项?

java - avl树旋转

java - 无法再使用查询获取 Google Drive App Data 文件夹内容

java - 生成一系列最接近另一个数字的百位的数字

java - 如何使@Component类中的方法成为@Transactional?

java - 无法连接到 AWS IoT 服务,MqttException - javax.net.ssl.SSLHandshakeException : Received fatal alert: certificate_unknown