繁体   English   中英

如何在java中检查框架是否打开?

[英]how can i check that a frame is open or not in java?

我可以在netbeans中单击按钮时打开表单或其他表单。 如以下代码

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
    frame1 fr = new frame1();
    desktop.add(fr);
    fr.setVisible(true);}

但我想控制当前形式是开放还是关闭? 如果当前表单是打开的,那么当我单击相同的按钮时,不会再次打开当前表单,直到它关闭相同的表单。 我该怎么做? 有一些方法,如isclosed(),isDisplayable(),但我不知道如何使用这些? 请给我建议。

您可以使用布尔变量来确定是否允许打开框架。

例:

//declaring the boolean in a class in which both frames can access
public final class Allow {
    private Allow(){}
    public static Boolean allow_ = true;
}

在打开辅助框架的主框架代码中,您可以执行此操作

if(Allow.allow_ == true) {
    Allow.allow_ = false;
    secondFrame sFrame_ = new secondFrame();
    sFrame_.setVisible(true);
} else {
    //alert the user that the frame is already open
    //I recommend a JOptionPane such as this
    JOptionPane.showMessageDialog(null, "This window is already open");
}

所以现在第二帧是打开的,现在它只允许你打开它,如果allow_为真。

现在当你关闭第二帧时,你会这样做:

Allow.allow_ = true;
secondFrame.this.setVisible(false);
secondFrame.this.dispose();

现在第二帧已关闭,现在可以再次打开。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM