[英]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.