我正在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();
}
});