Можно ли использовать AWT с JavaFx?

Мне нужны некоторые функции, которые в настоящее время я не могу найти в JavaFX. Например, робот или значок в трее.

Я знаю, что эти инструменты действительно работают с приложениями JavaFx. Но можно ли их использовать? Есть ли какие-то соображения, о которых я должен позаботиться?


person betaman    schedule 20.06.2012    source источник
comment
Я не эксперт по JavaFx, но для меня это очень надежное решение. Не могу жаловаться ... Пожалуйста, не говорите, что я программирую на win-system для win-систем.   -  person Martin Pfeffer    schedule 18.09.2015


Ответы (1)


Обычно это не рекомендуется.

N.B.:

  • использование любого AWT из JavaFX запустит весь стек AWT, что может увеличить потребление памяти / процессов.
  • могут возникать конфликты потоков между Glass (стек FX UI) и AWT, особенно на Mac. Так что, возможно, стоит использовать подход Swing Interoperability для вашего приложения, поскольку JFXPanel знает, как справляться с этими конфликтами.
  • вы можете использовать Glass robot вместо AWT (хотя это не общедоступный API и может быть изменен в будущем):

    Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot();
    robot.mouseMove(10, 30);
    robot.mousePress(1);
    
person Sergey Grinev    schedule 20.06.2012
comment
Спасибо, Сергей. Что касается значка в трее, есть ли у вас новости о какой-либо совместимой технологии, которую можно использовать? - person betaman; 20.06.2012
comment
Функциональность иконки в трее пока не реализована. Вы можете отслеживать статус этой функции здесь: javafx-jira.kenai.com/browse / RT-24251 - person Petr; 27.03.2013
comment
Обновленная ссылка на запрос функции значка JavaFX на панели задач, упомянутый @Petr: bugs.openjdk.java.net / browse / JDK-8092115 - person Sebastian S; 15.05.2017
comment
JavaFX 11 теперь имеет общедоступный класс javafx.scene.robot.Robot. . - person Slaw; 06.02.2019
comment
Я предоставляю небольшую библиотеку-оболочку для простого добавления значка в трее в приложениях JavaFX. Это избавляет разработчиков от необходимости прикасаться к ужасному API AWT. FXTrayIcon - person Dustin R; 18.11.2020