Подтвердить что ты не робот

Попытка стиля SwingNodes в JavaFX с помощью приложения GTKLookAndFeel

У нас есть приложение Java, которое использует Swing, но мы переносим его на JavaFX. Поэтому мы переносим старый код Swing на SwingNode и заменяем его шаг за шагом.

Перед миграцией приложение Swing использовало com.sun.java.swing.plaf.gtk.GTKLookAndFeel как внешний вид (по умолчанию для Ubuntu). Мы использовали следующий код для его установки (если есть):

for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
  if (info.getClassName().equals("com.sun.java.swing.plaf.gtk.GTKLookAndFeel")) {
    UIManager.setLookAndFeel(info.getClassName());
  }
}

Все прошло отлично. Тем не менее, после перехода на JavaFX вызов UIManager.setLookAndFeel() зависает от приложения, и ничего не происходит. Ручная настройка look-and-feel необходима, так как мы хотим по-прежнему стилизовать компоненты Swing, которые не были перенесены в JavaFX на основе GTKLookAndFeel.

Дополнительная информация: Это не работает с com.sun.java.swing.plaf.gtk.GTKLookAndFeel, так как оно работает при использовании javax.swing.plaf.metal.MetalLookAndFeel, javax.swing.plaf.nimbus.NimbusLookAndFeel или com.sun.java.swing.plaf.motif.MotifLookAndFeel.

Что мы можем сделать, чтобы он работал с GTKLookAndFeel для стилизации наших компонентов Swing в SwingNode s?

4b9b3361