Можно ли использовать AWT с JavaFx?
Мне нужны некоторые функции, которые я не могу найти в настоящее время в JavaFX. Как робот или значок в трее.
Я знаю, что эти инструменты работают с приложениями JavaFx. Но можно ли их использовать? Есть ли какие-то соображения, о которых я должен заботиться?
1 ответ
Решение
Обычно это не рекомендуется.
NB:
- использование любого AWT из JavaFX запустит весь стек AWT, что может увеличить потребление памяти / процессов.
- могут возникнуть конфликты потоков между Glass (стек пользовательского интерфейса FX) и AWT, особенно на Mac. Так что, возможно, стоит использовать подход Swing Interoperability для вашего приложения в качестве
JFXPanel
знает, как справиться с этими конфликтами. вы можете использовать Glass-робота вместо AWT (хотя это не публичный API и может быть изменен в будущем):
Robot robot = com.sun.glass.ui.Application.GetApplication().createRobot(); robot.mouseMove(10, 30); robot.mousePress(1);