Для решения аналогичной проблемы я прикрепил оконный слушатель к основному фрейму, в котором отображается диалоговое окно подтверждения режима.
Затем, если диалоговое окно подтверждено, но вход в систему неправильный, вы можете снова отобразить его.В случае отмены вы можете закрыть приложение.
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();
}
});