0

我有一个名为 MyFrame 的 JFrame

在构造函数MyFrame()中,我有一个 if 条件

MyFrame() {

if(condition) {

openFrame();
}

}

如果条件不成立,我不想打开框架。它仍然打开一个空白框架。

4

5 回答 5

1

问题是您在condition创建新的MyFrame. 如果条件为假,则跳过openFrame(),这可能会添加内容,但MyFrame仍然存在。您可能应该将if声明放在任何调用的地方new MyFrame()

于 2013-08-28T11:20:29.133 回答
1

尽量避免上的条件constructor

最优选的方式是

if (condition)  {

MyFrame  frame = new MyFrame();

}
于 2013-08-28T11:22:31.060 回答
0

初始化JFrameinif条件而不是在初始化后检查条件。它将解决您的问题。

于 2013-08-28T11:20:10.567 回答
0

您需要在构造函数之外进行此条件检查。如果满足该条件,您就不想拥有一个框架,所以一开始就不要费心创建一个。

于 2013-08-28T11:20:22.557 回答
0

因为您在某个地方调用了 MyFrame 对象的 setVisible(true),这是使框架显示的唯一方法调用。

于 2013-08-28T11:20:47.073 回答