Можно ли использовать 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);
    
Другие вопросы по тегам