在构造函数外使用“setVisible”的目的是什么?

时间:2011-12-08 23:21:02

标签: java user-interface

因此,在编写GUI程序时,我的老师会这样做:

GUIprogram gui = new GUIprogram();
gui.setVisible(true);

为什么他不把setVisible放在他创建所有GUI内容的方法中(在GUIprogram类中)?

谢谢。

2 个答案:

答案 0 :(得分:6)

您有三个选项可以打开它,基本上是:

  1. 每次在构造函数中打开它。
  2. 根据构造函数的参数启用它。
  3. 在构造函数外部访问时将其打开。
  4. 所以最可能的原因是他不想每次都让它可见,并且也不想让它成为构造函数的参数。这留下了一个选项,然后将其打开。

答案 1 :(得分:2)

有趣的问题。我做什么知道...

  • 这就是教程(我见过)的方式。
  • 这是NetBeans默认执行此操作的方式。
  • 可能是更多程序员习惯的方式。

我能想到的优点是你可以使用new GUIprogram()提前构建GUI。这样,当时间到达setVisible时,它将是即时的。当然,如果您的程序在需要显示特定GUI之前启动一段时间,这当然有用。