Что случилось с SwingFXUtils? - PullRequest
       11

Что случилось с SwingFXUtils?

0 голосов
/ 28 сентября 2018

Я только начал использовать JavaFX 11, и SwingFXUtils, кажется, ушел (или переименован?)

Я пытался загрузить его вручную, но система модулей жаловалась на import sun.awt.image.IntegerComponentRaster;, и я не могзаставить его работать.

Мне нужно конвертировать Swing Icon в образ JavaFX.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Начиная с Java 9, SwingFXUtils был перемещен в модуль javafx.swing, в пакете javafx.embed.swing.

См. JavaFX 9 Javadoc и новый JavaFX 11 Javadoc , размещенный по адресу https://openjfx.io.

Если у вас есть какие-либо проблемы с вашим образцом, убедитесь, что вы добавляете правильные параметры виртуальной машины.См. Примеры из руководства по началу работы .

Возможно, вам потребуется добавить что-то вроде:

--module-path <path-to>/javafx-sdk-11/lib --add-modules=javafx.controls,javafx.swing
0 голосов
/ 28 сентября 2018

SwingFXUtils все еще там, если вы правильно добавили модуль javafx.swing в путь сборки (см. Ответ от Хосе), но импорт внутреннего класса, такого как sun.awt.image.IntegerComponentRaster, больше не разрешен.

Для преобразования вашегоicon Вы можете попробовать это:

Icon icon; // Your icon
BufferedImage image = (BufferedImage)((ImageIcon)icon).getImage();
WritableImage writable = SwingFXUtils.toFXImage(image, null);

Будет ли это работать или нет, зависит от того, как была создана ваша иконка, но стоит попробовать.

...