Как встроить JavaFX в RCP-представление Eclipse - PullRequest
4 голосов
/ 21 февраля 2012

Я пытаюсь использовать JavaFX 2 из простого представления затмения, но я получаю

java.lang.UnsatisfiedLinkError: Неверный URL для класса: bundleresource: //435.fwk1827795025/com/sun/glass/utils/NativeLibLoader.class

После некоторого исследования с JAD я обнаружил, что NativeLibLoader имеет очень интересную проверку:

if(!classUrlString.startsWith("jar:file:") || classUrlString.indexOf("!") == -1)
    throw new UnsatisfiedLinkError((new StringBuilder()).append("Invalid URL for class: ").append(classUrlString).toString());

Значит ли это, что javafx нельзя использовать из комплекта OSGi? Пожалуйста, докажите, что я неправ.

Ответы [ 4 ]

2 голосов
/ 29 мая 2012

Я только что выпустил пошаговое руководство по созданию и экспорту Eclipse ViewPart, который использует JavaFX 2.0.Смотри http://www.efxclipse.org/trac/wiki/Tutorial3

1 голос
/ 22 февраля 2012

Обновления загрузчика JavaFX для обеспечения большей совместимости с с OSGI запланированы для выпуска "Lombard" (который является таймфреймом JavaFX 3.0 , т. Е. 2013).До этого вы можете столкнуться с проблемами при работе с JavaFX из пакета OSGI.Другие проблемы, связанные с OSGI, можно найти, выполнив поиск OSGI в JavaFX Jira (любой может зарегистрироваться, чтобы просмотреть ошибки и перечисленные там проблемы). Том Шиндл , создатель e (fx) clipse плагина для JavaFX в Eclipse, был бы лучшим контактным лицом с опытом интеграции JavaFX в Eclipse.

0 голосов
/ 06 июля 2013

Pls. выполните следующие простые шаги:

  1. Создать «Плагин из существующих JAR-архивов» в Eclipse

    • добавить External ..jre / lib / jfxrt.jar (из jdk1.7)
    • нажмите Целевую платформу "OSGI framework"!
    • отмените выбор "Разархивировать".
  2. Нажмите META-INF / MANIFEST.MF - на вкладке Runtime Export all Пакеты (с «Добавить»).

  3. Добавить созданный «Fx_Osgi_Plugin» как необходимый плагин на вкладке «Зависимости» для каждого plugin.xml.

  4. В .product нажмите «Добавить необходимые плагины» на вкладке «Зависимости».

Теперь плагины, использующие Java-Fx, имеют ссылку на Osgi Java-Fx. Версия.

0 голосов
/ 10 мая 2013

e (fx) clipse теперь имеет мастера для этого. Пожалуйста, посмотрите на: http://www.efxclipse.org/trac/wiki/Tutorial2

Вы можете быстро проверить свой взгляд с помощью этого привет кода мира:

public class MyViewPart extends FXViewPart {

    @Override
    protected Scene createFxScene() {
        Button btn = new Button();
        btn.setText("Say 'Hello World!'");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent arg0) {
                System.out.println("Hello World!");
            }
        });
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        return new Scene(root,300,200);
    }

    @Override
    protected void setFxFocus() {}
}
...