我试图实现以下目标:显示登录窗口,再从工厂,以确定哪些GUIclass
开例如(admin
/dev
/tester
)。关闭GUI,但主要的方案应保持运行并打开一个新
我无法设法让第二个窗口弹出;我试着用处理程序来关闭程序,但没有把主程序运行到最后。
主:
public static void main(String[] args){
LoginGui loginGuiWindow = null;
DeveloperGui devGui = null;
TesterGui tesGui = null;
UserCntrl uc = new UserCntrl();
try {
loginGuiWindow = new LoginGui(uc);
} catch (Exception e) {
e.printStackTrace();
}
System.out.print("Checking instance of: ");
if(loginGuiWindow.loggingResult > 0){
System.out.print("Checking instance of: ");
if (uc.user instanceof Developer) {
System.out.println("is instanceOf developer");
devGui = new DeveloperGui(uc);
}
if (uc.user instanceof Tester) {
System.out.println("is instanceOf tester");
tesGui = new TesterGui(uc);
}
}
}
LoginGui:
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int res;
String nick = textUser.getText();
String pass = textPassword.getText();
if((res = uc.handleLogin(nick, pass)) > 0){
loggingResult = res;
uc.handleUi(res);
frame.setVisible(false);
frame.dispose();
}
else{
JOptionPane.showMessageDialog(frame,
"Wrong username or password.",
"Logging error",
JOptionPane.PLAIN_MESSAGE);
}
}
});
我没有看到你在哪里显示窗口,你在做构造函数吗? – Dima 2013-04-23 14:40:10
您是否尝试过调试代码? 'Main Method'等待'loginGuiWindow = new LoginGui(uc);'直到'loginGuiWindow关闭'? – 2013-04-23 14:41:18
为了尽快提供更好的帮助,请发布[SSCCE](http://sscce.org)。目前,你只能在黑暗中随机拍摄,猜测你的代码实际上在做什么。 – 2013-04-23 14:51:57