2010-09-08 2 views
0

Приложение JavaFX работает при запуске через плагин JavaFX Eclipse.Включение журналов отладки при загрузке апплета JavaFX

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

Вот код для загрузки моей 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 

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

Возможно ли включить любую регистрацию при загрузке апплета?

+0

Код взят из http://jfx.wikia.com/wiki/ Applet_Example – Joopiter

ответ

2

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

alt text

+1

Этот инструмент называется JaNeLA. Это действительно дает подробную информацию о том, что на самом деле происходит сзади, и дает предложения. вы можете посетить их http://pscode.org/janela/ – Joopiter

0

Вы должны проверить направление 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/

1

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

  • Ваш ключ Javascript archive: совпадает с именем файла банку.
  • Ваш 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> 
Смежные вопросы