Включение журналов отладки при загрузке апплета JavaFX - PullRequest
0 голосов
/ 08 сентября 2010

Мое приложение JavaFX работает, когда выполняется через плагин JavaFX Eclipse.

Но когда я пытаюсь встроить его в свой веб-проект, он не отображается должным образом, и через некоторое время на его место загружается черный прямоугольник.

Вот код для загрузки моего приложения JavaFX:

    <script src="http://dl.javafx.com/1.2/dtfx.js"></script>
    <script>
        javafx({
            codebase: "/applets/",
            archive: "HelloApplet.jar",
            draggable: false,
            width: 250,
            height: 80,
            code: "hello.HelloApplet",
            name: "HelloApplet"
       });
    </script>

А вот код для моего приложения JavaFX:

    package hello;
    // some imports here
    // ...
    Stage {
      title: "My Applet"
      width: 250
      height: 80
      scene: Scene {
        content: Text {
            x: 10  y: 30
            font: Font { size: 24 }
            fill: Color.BLUE
            effect: DropShadow{ offsetX: 3 offsetY: 3}
            content: "Hello World!"
          } // Text
       } // Scene
    } // Stage

В моем веб-проекте у меня естьпоместил сгенерированный HelloApplet.jar в:

    src/main/webapp/applets/HelloApplet.jar

, но безрезультатно, что он все еще не загружается. Что я здесь не так делаю?я что-то упустил?

Можно ли включить ведение журнала при загрузке апплета?

Ответы [ 3 ]

2 голосов
/ 08 сентября 2010

Извините, я недостаточно знаком с JavaFX, чтобы помочь вам с этим, но вы можете просмотреть консоль, чтобы увидеть следы стека и все, включив ее на панели управления (если вы используетеWindows):

alt text

1 голос
/ 15 сентября 2010

Апплет JavaFX использует новую архитектуру Java-Plugin, которая использует JNLP. Для развертывания апплетов JavaFX вы должны использовать как javascript в html-файле, так и jnlp-файл. Когда IDE генерирует jnlp и html-файл, они встраивают значения по умолчанию в те файлы, которые вы должны убедиться в правильности. При загрузке файлов на веб-сервер убедитесь, что:

  • Ваш ключ javascript archive: соответствует имени файла jar.
  • Ваш javascript code: ключ указывает на основной класс апплета
  • Ваш javascript jnlp_href: ключ указывает на правильное расположение файла jnlp
  • Ваш файл jnlp нуждается в базе кода, ссылающейся на местоположение, где находится код.

Ниже приведен образец:

JavaScript:

<script>
    javafx(
        {
              archive: "applet-demo.jar",
              width: 640,
              height: 75,
              code: "applet.demo.Main",
              name: "applet-demo",
              jnlp_href: "myapplet.jnlp"
        }
    );
</script>

myapplet.jnlp

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://javafxcookbook.s3.amazonaws.com/ch007/applet-demo" href="myapplet.jnlp">
    <information>
        <title>applet-demo</title>
        <vendor>Vladimir Vivien</vendor>
        <homepage href="http://javafxcookbook.s3.amazonaws.com/ch007/applet-demo"/>
        <description>applet-demo</description>
        <offline-allowed/>
        <shortcut>
            <desktop/>
        </shortcut>
    </information>
    <resources>
        <j2se version="1.5+"/>
        <extension name="JavaFX Runtime" href="http://dl.javafx.com/1.2/javafx-rt.jnlp"/>
        <jar href="applet-demo.jar" main="true"/>
    </resources>
    <applet-desc name="applet-demo" main-class="com.sun.javafx.runtime.adapter.Applet" width="640" height="75">
        <param name="MainJavaFXScript" value="applet.demo.Main">
    </applet-desc>
    <update check="background">
</jnlp>
0 голосов
/ 09 сентября 2010

Вам следует проверить направление codebase в файле JNLP, в котором должен быть указан правильный путь вашего .jar.

Например, если у меня есть .jar в C:\Users\rodrigo\Documents\NetBeansProjects\JavaFXJavaScript\distтогда мой JNLP должен быть http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/C%3A/Users/rodrigo/Documents/NetBeansProjects/JavaFXJavaScript/dist/

...