提醒一下,我是Java新手,到目前为止只有2天的经验。我试图要求我的程序显示我的登录表单,这是一个单独的类,并显示身份验证后我的主要应用程序。登录类有一个返回布尔值的isAuth()方法。
因此,在netbeans中,主应用程序分4个阶段生成应用程序,如下所示。
@Override protected void startup() {
show(new login()); // loads frame only...
show(new Snap_multitabletestView(this));
}
/**
* This method is to initialize the specified window by injecting resources.
* Windows shown in our application come fully initialized from the GUI
* builder, so this additional configuration is not needed.
*/
@Override protected void configureWindow(java.awt.Window root) {
}
/**
* A convenient static getter for the application instance.
* @return the instance of Snap_multitabletestApp
*/
public static Snap_multitabletestApp getApplication() {
return Application.getInstance(Snap_multitabletestApp.class);
}
/**
* Main method launching the application.
*/
public static void main(String[] args) {
//my guess is login logic would go here?
launch(Snap_multitabletestApp.class, args);
}
所以,基本上我很难弄清楚保持主应用程序锁定/隐藏的语法,直到登录被验证。
谢谢你的帮助!
我的建议是这样设计程序:你的"主程序"根本没有用户界面。
当它启动时,应用程序在屏幕上启动一个日志,并等待该屏幕返回。(也许查找线程和join
操作)。一旦屏幕返回,如果成功,它将启动您的其他GUI,否则它将退出或重新打开登录屏幕并出现错误。
伪代码快速演练....
main启动->创建显示登录GUI的新线程->主线程join
, GUI线程-> GUI线程退出并设置返回代码->主线程检查返回代码是否成功->如果成功则继续到真正的GUI ->否则重新打开登录
在启动时你必须显示两个屏幕吗?您可以显示登录屏幕,在适当的身份验证下,您可以启用/显示其他屏幕。