| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > Нажатие кнопки минимизированого окна. |
| Автор: ousatyy 29.10.2006, 16:45 |
| Здравствуйте может мне кто поможет. У меня аплет имеет фрейм, который в свою очередь открывает модальное диалоговое окно. Как это окно програмно закрыть? Я запускаю отдельный поток который отслеживает висит ли для аплета диалог. Если да то ищу нужную кнопку на диалоге, беру ее координаты и с помощью класса Robot перемещаю на нее миш и програмно жму левую кнопку. Но есть ситуация когда окно на момент нажатия кнопки минимизировано, и мышка жмет на пустом поле, мучается мучается и останавливается. Диалог продолжает висеть. Диалоги и кнопки не чисто AWT-шние или Свинговские, потому dialog.destroy или button.isPressed вызвать не могу. Может как нибудь с помощью лисенеров или может максимизировать окно аплета? Помогите кто чем может. Спасибо. |
| Автор: powerOn 29.10.2006, 17:03 |
| Не понял ничего. Что за окно у апплета? Ты его скрыть/закрыть/максимизировать/минимизировать хочешь? Вообще у JFrame есть методы setVisible(), setExtendedState(), dispose() которые управляют состоянием окна. |
| Автор: ousatyy 29.10.2006, 17:13 |
| Сори за сумбурный вопрос. У меня есть панель которая запускается в аплет вьювере(не спрашивайте почему). Эта панель порождает модальное диалоговое окно, которое нужно автоматически закрыть. Я закрывал его с помощью класс Robot (брал кординаты кнопки "cancel" ставил туда мыш и эмулировал нажатие кнопки) но теперь аплетвьювер минимизируется перед появлением этого диалогового окна. Хотя я отслеживаю это модальное окно и нахожу кнопку, старым способом я ее нажать не могу. Потому что мыш кликает н апустом месте где было это окно. Я вижу такие решения. 1.Возвращать апплет вьювер в неминимизированое состояние и нажымать старым способом. 2.Как то иначе эмулировать нажатие кнопки. |
| Автор: ousatyy 29.10.2006, 17:39 |
| Спасибо всем я уже придумал. button.mousePressed(new MouseEvent(button, 1, 0, 0, 1, 1, 1, true, MouseEvent.BUTTON1)); button.mouseReleased(new MouseEvent(button, 1, 0, 0, 1, 1, 1, true, MouseEvent.BUTTON1)); |