| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Как приостановить исполнение до нажатия кнопки? |
| Автор: Alone 5.8.2003, 10:12 | ||||
| Народ, подскажите плиз. Есть несколько классов (файлов), в каждом из которых определен свой кусок формы. Все классы типа JPanel. Основной класс jApplet. Нужно визуализировать например кусок формы с аутентификацией (логин пароль кнопка). Это сделано.
В самом классе AuthPanel есть блок прослушки событий
И после вывода этой формы на осн. панель, необходимо дождаться нажатия на кнопку... проверить логин пароль и продолжить работу... А как |
| Автор: DarkDS 5.8.2003, 11:30 |
| Аунтификация происходит через диалог или панель в главном окне меняется? |
| Автор: Alone 5.8.2003, 11:53 | ||
| Немного не понял тебя... Что значит через диалог или панель меняется? смотри: Есть класс main (с него начинаем.) Есть класс AuthPanel. Создаем его екземпляр класса (уже в main классе)
что дальше делать то |
| Автор: DarkDS 5.8.2003, 13:06 |
| В общем так: Есть 2-а способа... 1-й во время инициализации показать диалог, который у пользователя попросит ввести пароль и все такое. Это самый простой способ, так как для этого достаточно сделать диалог модальным и ожидать от него ответа... (в модальных диалогах пока не закроется диалог - дальше программа не работает....) и уже после этого проверять - удачность авторизации... Другой способ, который как я понимаю хочешь использовать ты - это на главной панеле отобразить панельку с авторизацией... но... тут начинаются щаманские танцы, так как напрямую никак нельзя заставить остановится в ожидании... Самый первый способ, который приходит на ум - поставить специфический листенер (написать свой), который будет оповещать главную программу о том, что авторизация пройдена... а уж он будет вызывать метод, который дальше продолжит инициализацию и все такое. Единственное но - так как все это будет происходить в EventQueue и будет требовать изменений панелей, то нужно будет запускать все это в InvokeLater... |
| Автор: DarkDS 5.8.2003, 13:09 |
| ЗЫ. Можешь код Майна и аут панели выложить... Тогда попробую показать, как это реализовать |
| Автор: Alone 5.8.2003, 13:57 | ||||
| Давай рассмотрим оба варианта. Я уже понял, что с модальным окном проще будет, но второй вариант как то покрасивше выглядит на экране. IMHO. Заодно неплохой пример для фака выйдет ;) итак: главный класс main.java
Дальше. AuthPanel.java
|
| Автор: DarkDS 5.8.2003, 14:23 |
| Ок... Ближе к вечеру запостю оба варианта... (сейчас с работой разобратся нуна |
| Автор: Alone 6.8.2003, 13:54 |
| Уже извратился... |
| Автор: DarkDS 6.8.2003, 14:30 |
| Сорри... Вчера не смог... Сегодня мои варианты выдам |
| Автор: DarkDS 6.8.2003, 15:35 | ||||||
| Вариант с диалогом. Прибавляется еще один класс - диалог... Майн:
AutPanel:
И диалог:
|
| Автор: DarkDS 6.8.2003, 15:59 | ||||
| Вариант с панелькой: Майн класс:
панелька:
|
| Автор: DarkDS 6.8.2003, 18:25 |
| Какой вариант больше нравится? Пояснения нужны? |
| Автор: Alone 7.8.2003, 13:00 |
| Пока перевариваю... работы тоже валом... Спасибо огромное! через пару дней расскажу. |