当条件为真时,我想在其构造函数中放置一个框架。
this.dispose
未布置框架。我希望在调用构造函数时,如果条件(configurationBean.getCode().equals(macPass)
)为true,则必须调用一个新框架,并且必须关闭该框架。否则,必须创建该框架。
public ConfigurationFrame() {
String pcMac = getPcMacAddress();
String macPass = getPassword(pcMac);
ConfigurationDao configurationDao = new ConfigurationDaoImpl();
ConfigurationBean configurationBean = configurationDao.checkCode(macPass);
if(configurationBean == null)
initComponents();
else if(configurationBean.getCode().equals(macPass))
{
new MainLoginFrame().setVisible(true);
this.dispose();
super.setVisible(false);
}
}
}
答案 0 :(得分:0)
请注意,您的问题是经典的“ XY Problem”类型的问题,当最佳解决方案是“不做X而是做Y”时,您会问“我怎么做X”。换句话说,您确实不想在执行操作时不在其构造函数中处理顶级窗口对象(例如JFrame)。
我认为您想做的(猜测)是
如果是这样,那么我将使用while循环显示设置的配置窗口,如果配置确定,则退出循环,但是如果用户只是想退出或无法设置,则允许用户退出循环。配置确定。像这样:
// configurationGood: true if config is good
// justQuit: true if the user has had enough and wants to quit
while (!configurationGood && !justQuit) {
// create configuration dialog here
// calling constructors, and all
// use a **modal** dialog here
// change configurationGood and/or justQuit values in here
}
if (!justQuit) {
// create and display main application here
}
请注意