致力于学习Netbeans的GUI构建器,我很困惑。我正在使用GUI构建器编写基本的LoginUI类。如果我以独立方式运行该类,则所需窗口将会弹出。但是,如果我尝试创建它的新实例,则不会。我的控制流程如下:
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[]) {
在其某些生成的代码中。据我所知,您在一个项目中应该只拥有1个主类。这可能是我的问题吗?
最佳答案
实际上,您永远都不可能在任何地方都看不到Call set可见,这是不可能确定您的UI是否确实有要显示的窗口的。
如果LoginUI来自JFrame
之类的东西,则on应该调用...
theLoginUI.pack();
theLoginUI.setVisible(true);
关于java - 无法使用NetBeans GUI构建器调用UI类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21838565/