代码之家  ›  专栏  ›  技术社区  ›  Joopiter

加载JavaFX小程序时启用调试日志

  •  0
  • Joopiter  · 技术社区  · 14 年前

    通过Javafx Eclipse插件执行时,我的Javafx应用程序正在工作。

    但是当我试图将它嵌入到我的Web项目中时,它没有被正确地呈现出来,过了一段时间,一个黑色的矩形被加载到它的位置上。

    下面是加载我的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
    

    在我的Web项目中,我将生成的helloaplet.jar放入:

        src/main/webapp/applets/HelloApplet.jar
    

    但还是没有装上我在这里做错了什么?我错过什么了吗?

    加载小程序时是否可以启用任何日志记录?

    3 回复  |  直到 11 年前
        1
  •  2
  •   The Alchemist    14 年前

    很抱歉,我对javafx还不够熟悉,无法帮助您完成这项工作,但您可以查看控制台,以便通过在控制面板中启用它(如果您使用的是Windows)来查看堆栈跟踪和所有内容:

    您可以使用它,但是您可以查看控制台,这样您可以通过在控制面板中启用它(如果您使用的是Windows)来查看堆栈跟踪和所有内容:

    alt text

        2
  •  1
  •   vladimir.vivien    14 年前

    JavaFX applet使用新的Java插件架构,使用JNLP。要部署JavaFX小程序,必须同时使用HTML文件中的javascript和JNLP文件。当IDE生成JNLP和HTML文件时,它们将默认值嵌入那些您必须确保正确的文件中。在Web服务器上加载文件时,请确保以下各项:

    • 你的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>
    

    MyPalp.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>
    
        3
  •  0
  •   rsa    14 年前

    你应该检查一下 codebase 在文件中 JNLP ,其中应包含 .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/