我有一个名为MyFrame的JFrame
在构造函数MyFrame()
中,我有一个if条件
MyFrame() {
if(condition) {
openFrame();
}
}
如果条件不正确,我不想打开框架。它仍然打开一个空白框架。
答案 0 :(得分:1)
问题是,在您正在创建新condition
之前,您不会检查MyFrame
。如果条件为false,则跳过openFrame()
,这可能会添加内容,但MyFrame
仍然存在。您应该将if
语句放在调用new MyFrame()
的任何内容周围。
答案 1 :(得分:1)
尽量避免constructor
上的条件。
最优选的方式是
if (condition) {
MyFrame frame = new MyFrame();
}
答案 2 :(得分:0)
在JFrame
条件下初始化if
,而不是在初始化后检查条件。它将解决您的问题。
答案 3 :(得分:0)
你需要这个条件检查OUTSIDE构造函数。满足这个条件你不想拥有一个框架,所以不要在第一时间创建一个框架。
答案 4 :(得分:0)
因为某个地方你将setVisible(true)调用到MyFrame对象,这是唯一一个使框架显示的方法调用。