我試圖實現以下目標:顯示登錄窗口,再從工廠,以確定哪些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