不能调用UI类与NetBeans GUI构建器
在学习NetBeans中的GUI构建工作,我很困惑。我正在用GUI构建器编写一个基本的LoginUI类。如果我将该类作为独立运行,那么我希望按照预期弹出窗口。但是,如果我尝试创建一个新的实例,它不会。我控制的流程如下:不能调用UI类与NetBeans GUI构建器
public static void main(String[] args) {
LoginCntl theLoginCntl = new LoginCntl();
}
public class LoginCntl {
public LoginCntl(){
LoginUI theLoginUI = new LoginUI();
}
}
public LoginUI() {
initComponents();
System.out.println("Are we here?");
//This prints out, so I know the program gets here. The problem is the window does not show up here.
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LoginUI().setVisible(true);
}
});
我真的不知道为什么我可以运行它独立位置,当我创建它的一个新的实例得到我想要的那么窗口该窗口不会出现。我感觉我失去了一些非常基本的东西。任何帮助将不胜感激。
编辑:增加了一些更多的NetBeans提供所生成的代码。它调用setVisible()。这就是说,虽然寻找setVisible()我注意到,GUI生成器添加了
public static void main(String args[]) {
它的一些生成的代码。据我所知,你应该只有一个主要课程在一个项目中。这可能是我的问题吗?
你永远不会调用设置中可以看到的地方,事实上,这是不可能的,以确定您的UI实际上有要显示的窗口。
如果LoginUI从类似JFrame
,该你应该调用扩展...
theLoginUI.pack();
theLoginUI.setVisible(true);
其实包()在'的initComponents已经致电()''只是调用setVisible(真)',你赢了我的xD通过时间+1 – nachokk
@nachokk假设组件扩展来回的JFrame和NetBeans已被配置为自动应用包,但是,从不冒险;) – MadProgrammer
'theLoginUI.setVisible(真)' – nachokk
感谢您的帮助,调用setVisible工作。我看到,在异常处理程序中调用调用setVisible建设者,所以我想它只是照顾,对我。它不会。你懂得越多! – Tritonis