Как мне потребовать аутентификации при входе перед загрузкой основного приложения с помощью сгенерированного Netbeans кода?

#java #swing #netbeans #passwords

#java #swing #сетевые приложения #пароли #netbeans

Вопрос:

Внимание, я очень новичок в Java, опыт работы пока 2 дня. Я пытаюсь потребовать, чтобы моя программа показывала мою форму входа, которая является отдельным классом, и показывала мое основное приложение после проверки подлинности. Класс login имеет метод isAuth(), который возвращает логическое значение.

Итак, в netbeans основное приложение генерирует приложение в 4 этапа, показанных следующим образом.

 @Override protected void startup() {
    show(new login()); // loads frame only...

    show(new Snap_multitabletestView(this));
}

/**
 * This method is to initialize the specified window by injecting resources.
 * Windows shown in our application come fully initialized from the GUI
 * builder, so this additional configuration is not needed.
 */
@Override protected void configureWindow(java.awt.Window root) {
}

/**
 * A convenient static getter for the application instance.
 * @return the instance of Snap_multitabletestApp
 */
public static Snap_multitabletestApp getApplication() {
    return Application.getInstance(Snap_multitabletestApp.class);
}

/**
 * Main method launching the application.
 */
public static void main(String[] args) {
    //my guess is login logic would go here?        
    launch(Snap_multitabletestApp.class, args);
}
  

Итак, по сути, мне трудно разобраться в синтаксисе сохранения основного приложения заблокированным / скрытым до тех пор, пока логин не будет подтвержден.

Спасибо вам за помощь!

Ответ №1:

Мое предложение заключалось бы в разработке программы таким образом, чтобы ваша «основная программа» вообще не имела пользовательского интерфейса.

При запуске приложение запускает экран входа в систему и ожидает, пока этот экран не вернется. (Возможно, посмотрите потоки и join операцию). Как только экран возвращается, в случае успеха запускается другой ваш графический интерфейс, в противном случае он завершает работу или повторно открывает экран входа в систему с ошибкой.

Краткое пошаговое руководство по псевдокодированию ….
запускает main -> Создает новый поток, который показывает графический интерфейс входа в систему -> основной поток join использует поток GUI -> Поток GUI завершается с установленным кодом возврата -> основной поток проверяет код возврата на предмет успеха / неудачи -> в случае успеха перейдите к реальному GUI -> в противном случае повторно откройте logon.

Ответ №2:

При запуске обязательно показывать оба экрана? Вы можете отобразить экран входа в систему, а при правильной аутентификации вы можете включить / показать другие экраны.

Комментарии:

1. Нет, в настоящее время оно отображает 2 окна, и я хочу, чтобы экран входа отображался только при запуске, а при аутентификации вход в систему закроется и запустится основное приложение.