我正在用netbeans 7开发一个Java GUI应用程序,我有一个处理文件的窗口(SingleFrameApplication),并且需要在此主框架之前启动登录屏幕,
我不明白如何添加新框架,或如何延迟主框架,直到正确登录新框架为止。
提前致谢。
最佳答案
我解决类似问题的方法是在主框架上附加一个窗口侦听器,以显示模式确认对话框。
然后,如果确认对话框,但登录错误,则可以重新显示它。如果取消,则可以关闭该应用程序。
JPanel loginPanel = new LoginPanel();
this.getFrame().addWindowListener(new WindowAdapter() {
public void showLoginDialog()
{
int result = JOptionPane.showConfirmDialog(
mainView.getFrame(),
loginPanel, "Login... ",
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.PLAIN_MESSAGE,
null);
if (result == JOptionPane.OK_OPTION)
{
if(!loginPanel.checkLogin())
{
showLoginDialog();
}
}
else
{
System.exit(0); // replace with your more graceful shutdown code
}
}
@Override
public void windowOpened(WindowEvent e)
{
showLoginDialog();
}
});