Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Апплеты > Вернуть фокус в браузер


Автор: infarch 11.6.2012, 12:47
У меня есть аплет для скриншотов, всегда висит поверх окон. Когда в нем нажимаешь кнопку, он сохраняет изображение с экрана под собой и закрывается. Но тут есть один момент - пользователь может и переключить активное приложение пока выбирает сюжет для скриншота. Я хотел бы сделать так, чтобы аплет при закрытии делал браузер активным приложением и выносил его вперед, на глаза пользователю. Можно ли такое сделать? И как? smile

Автор: LSD 11.6.2012, 16:33
Цитата(infarch @  11.6.2012,  13:47 Найти цитируемый пост)
Можно ли такое сделать? И как?

Попробуй http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#requestFocusInWindow() (хотя сомневаюсь, что это поможет).

Автор: infarch 11.6.2012, 17:09
А как я это попробую? Мне ведь нужно браузер активировать, а не некий инстанс java.awt.Component... Я так понимаю что нужно:
а) Получить некий хендлер окна которое запустило апплет (ибо браузеров может быть открыто и несколько)
б) Передать в него управление

По обеим пунктам пока туман (

Автор: LSD 14.6.2012, 14:22
Идея была затребовать фокус в апплет, в надежде что это сделает активным и окно браузера за компанию. Хотя пожалуй это не будет работать.

А так нужно смотреть в сторону нативного АПИ платформы. Чтобы не возиться с JNI, можно посмотреть в сторону https://github.com/twall/jna.

Автор: infarch 15.6.2012, 09:19
А это будет работать в апплете? Спасибо за ссылку, посмотрю. Но вообще это все должно было бы работать и на маке, как минимум.

Автор: LSD 15.6.2012, 10:29
Цитата(infarch @  15.6.2012,  10:19 Найти цитируемый пост)
Но вообще это все должно было бы работать и на маке, как минимум.

Придется писать отдельную реализацию под каждую ОС.

Автор: jk1 26.6.2012, 18:39
А вот такой фокус не прокатит?

Код

getAppletContext().showDocument(new URL("javascript:window.focus()"));


Код

<APPLET CODE="..."  NAME="..."  MAYSCRIPT   HEIGHT=... WIDTH=...>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)