#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 окна, и я хочу, чтобы экран входа отображался только при запуске, а при аутентификации вход в систему закроется и запустится основное приложение.