如何在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_为true时,它才会让你打开它。

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

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

现在,第二个框架已关闭,现在将允许再次打开。

相关内容

  • 没有找到相关文章

最新更新