`
xxqn
  • 浏览: 74440 次
  • 性别: Icon_minigender_1
  • 来自: 广东韶关
社区版块
存档分类
最新评论

javafx项目本地发布的改造

阅读更多
  javafx项目启动慢的感觉,是所有刚刚接触javafx的人的共同感觉。这是真的吗?
    首先,这种感觉是真实的,javafx项目确实启动的时候会比传统的web页面慢,就像flash一样会有延迟。
    其次,这种感觉被其他原因夸大了。为何这么讲我们来分析一下,就清楚了。
    先暂不论javafx官网的慢是怎么回事,且看netbeans-6.5-javafx建造javafx项目的情况。缺省建造javafx项目会生成相关文件,包括html jnlp _browser.jnlp文件等
打开html文件
<html>
<head>
<title>JavaFXApplication5</title>
</head>
<body>
<h1>JavaFXApplication5</h1>
<script src="http://dl.javafx.com/dtfx.js"></script>
<script>
    javafx(
        {
              archive: "JavaFXApplication5.jar",
              draggable: true,
              width: 200,
              height: 200,
              code: "javafxapplication5.Main",
              name: "JavaFXApplication5"
        }
    );
</script>
</body>
</html>

其中有代码
<script src="http://dl.javafx.com/dtfx.js"></script>

在jnlp文件
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/F%3A/NetBeansApp/JavaFXApplication5/dist/" href="JavaFXApplication5.jnlp">
    <information>
        <title>JavaFXApplication5</title>
        <vendor>xxxtqn</vendor>
        <homepage href="http://localhost:8082/servlet/org.netbeans.modules.javafx.project.JnlpDownloadServlet/F%3A/NetBeansApp/JavaFXApplication5/dist/"/>
        <description>JavaFXApplication5</description>
        <offline-allowed/>
        <shortcut>
            <desktop/>
        </shortcut>
    </information>
    <resources>
        <j2se version="1.5+"/>
        <extension name="JavaFX Runtime" href="http://dl.javafx.com/javafx-rt.jnlp"/>
        <jar href="JavaFXApplication5.jar" main="true"/>
    </resources>
    <application-desc main-class="javafxapplication5.Main"/>
</jnlp>

也可以发现以下代码
<extension name="JavaFX Runtime" href="http://dl.javafx.com/javafx-rt.jnlp"/>

大家可以知道为何sun官网上的javafx例子这么慢了吧。你需要大量到sun等相关网站上下载jar后,你的应用才能动起来。不明白sdk里面为何没有这些文件,怪哉。

    如果是这样的话,岂不在不联互联网的情况下就无法使用javafx了吗?好,我们现在就来解决这个问题。
    先来看看java控制面板,找出java中缓存的下载文件可以发现许多下载的资源,因为数字签名等原因,如果你直接到链接位置下载的话可能不成功,可以到http://download.java.net/javafx这里找到你需要的文件。主要是http://download.java.net/javafx/pack200/下面的几个,下载到项目本地,至于html下的几个js文件,可以下载到本地,然后修改源代码。如下
<script src="js/dtfx.js"></script>


修改jnlp如下
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/YouApp/" href="YcJavaFX.jnlp">
    <information>
        <title>YcJavaFX</title>
        <vendor>xxxtqn</vendor>
        <homepage href="http://localhost:8080/YouApp/"/>
        <description>YcJavaFX</description>
        <offline-allowed/>
        <shortcut>
            <desktop/>
        </shortcut>
    </information>
    <resources>
        <j2se version="1.5+"/>
        <!--extension name="JavaFX Runtime" href="http://dl.javafx.com/javafx-rt.jnlp"/-->
        <jar href="lib/javafx-rt__V1.0.0.jar" />
        <jar href="lib/jmc__V1.0.0.jar" />
        <jar href="lib/jogl__V1.1.1.jar" />
        <jar href="YouJavaFX.jar" main="true"/>
    </resources>
    <application-desc main-class="youjavafx.Main"/>
</jnlp>

经过这样修改以后,就算sun倒闭了也不怕了。
有问题请到腾讯60797960交流。
  • 大小: 17.9 KB
  • 大小: 130 KB
分享到:
评论
7 楼 liyaxi 2009-02-15  
我的截图无法上传, Email:
litianhao_2579@126.com
若要查看留邮箱我给你发!
6 楼 liyaxi 2009-02-15  
我也遇到同样的问题!
JavaFx 无法运行的问题!!!
Netbean 6.5  sun 官方网站上下的, 仅支持j2se, javaFx 。
package javafxapplication12;
import javafx.scene.paint.Color;
import javafx.scene.Scene;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
Stage {
    title: "Application title"
    width: 250
    height: 80
    scene: Scene {
        content:[
            Text {
                font: Font {
                    size: 24
                }
                x: 10,
                y: 30
                content: "Application content"
            },
            Rectangle {
                x: 45,
                y: 35
                width: 150
                height: 150
                arcWidth: 15
                arcHeight: 15
                fill: Color.GREEN
            }
        ]
    }
}
截图1


截图2

截图3:


截图4:



截图5:







截图6



截图7:


截图8:


截图9:


5 楼 xxqn 2008-12-20  
这是国外的相关资料
http://blogs.sun.com/mobility_techtips/entry/how_to_develop_and_run
他所讲的是适用于终端用户自己操作,同时还是需要与互联网连通。用我的方式可以在完全脱离互联网的场合中使用。
4 楼 xxqn 2008-12-12  
所谓的jre指定只是个兼容性的标识而已。例如表示指定1.5,那么本机只安装了1.4的话当然就不能能运行。javafx1.0可以在jre1.5下运行,但是需要打更多的补丁,可能还有部分功能不能实现(被屏蔽),使用jre1.6u11显然就更加全面了,需要下载的补丁就更少。
3 楼 xxqn 2008-12-12  
官方的说法仍然需要等待。思路应该是正确的。
2 楼 AreYouOK? 2008-12-11  
FAQ的1.14,显然不能让人满意。

1.14 How do I get the JavaFX 1.0 Runtime?

JavaFX 1.0 Desktop Runtime will be automatically downloaded on Windows and Mac OS desktops and browsers that support Java 1.5 or higher, when users access a JavaFX application for the first time. Users don't have to download anything additional to run JavaFX applications.

JavaFX 1.0 platform includes support for developing JavaFX Mobile applications only for the mobile emulator. The JavaFX runtime for mobile devices will be released in Spring 2009.
1 楼 AreYouOK? 2008-12-11  
这是一种很不正式的方法,对于部署在局域网内的应用,应该怎么搞,有什么官方说法吗?sun还没有想好怎么弄?
我刚看了几天javafx,在它的网站上,也没有看到关于在局域网内说法。

另外还有一点很奇怪,javafx第一次使用的时候自动下载,以后自动更新?
以前的applet总是会使用本机安装的最新jre,现在java1.6 u10刚实现了能够指定特定的JRE,那么javafx呢,又重蹈覆辙?

相关推荐

    javaFX完整项目案例可用.zip

    在这个名为"javaFX完整项目案例可用.zip"的压缩包中,你将找到一个基于JavaFX实现的完整桌面应用程序示例。 JavaFX项目的核心在于它的场景图(Scene Graph)架构,它允许开发者以树状结构来组织UI元素,从而方便地...

    eclipse/IDEA配置javafx项目步骤

    在配置javafx之前,需要到Oracle或openJFX的官网下载javafx压缩包并解压,解压路径最好和Java的jdk放在同一目录方便寻找,在下载解压javafx包之后,开始配置javafx项目: 一:eclipse如何配置javafx 1.安装e(fx)...

    springboot+mybatis+javafx项目

    该项目是一个集成SpringBoot、MyBatis和JavaFX的综合应用,主要用于档案管理的扫描功能。以下将详细解析各个技术在项目中的应用及其重要性。 **SpringBoot** SpringBoot是Spring框架的一个子项目,旨在简化Spring...

    javafx+mysql新闻发布查询系统(News)

    总结,这个“javafx+mysql新闻发布查询系统”结合了JavaFX的富客户端能力与MySQL的数据库管理功能,为用户提供了一个简洁的新闻发布和查询平台。通过学习和分析这个系统,开发者可以深入了解JavaFX的UI设计、JDBC的...

    javaFx 完整版项目(Spring+SpringMVC+Mybatis)

    在本项目中,"javaFx 完整版项目(Spring+SpringMVC+Mybatis)"是一个融合了JavaFX技术与企业级开发框架SSM(Spring、SpringMVC、Mybatis)的ERP(Enterprise Resource Planning)系统。下面将详细介绍这些关键技术点...

    在IntelliJ IDEA 中使用 Gradle JavaFx

    - 在“项目SDK”中选择你的Java版本,因为JavaFX自Java 11起不再包含在JDK中,所以需要使用支持JavaFX的JDK,如OpenJFX。 - 在“项目模板”中,选择“Empty Project”。 2. **配置Gradle构建脚本**: - 创建`...

    javaFX maven 项目 demo 源码,直接idea打开即可

    这个项目是一个基于Maven构建系统的JavaFX示例代码,适用于开发者想要学习或快速启动JavaFX应用程序的开发。Maven是一种强大的项目管理工具,能够自动化构建、依赖管理和项目信息管理,使得Java开发变得更加简洁。 ...

    javafx 整合 sparingboot mybatis

    确保在项目中包含 Web 和 JDBC 依赖,因为 JavaFX 是桌面应用,所以不需要 Web 服务器,但需要 JDBC 来与数据库进行交互。 2. **添加 JavaFX 依赖** 在 Maven 或 Gradle 的配置文件中,我们需要添加 JavaFX 的相关...

    JavaFx 小项目 整理的

    "JavaFx 小项目 整理的"这个标题暗示了这是一个集合了多个小型JavaFX应用的资源包,可能是为了教学、实践或快速演示JavaFX基本功能而设计的。 "E(fx)clipse项目"是描述中的关键词,这是一款Eclipse插件,专门为...

    javaFX Demo 模板案例

    在本案例中,我们或许会了解到如何将JavaFX项目打包成跨平台的应用。 总结来说,这个“javaFX Demo 模板案例”涵盖了JavaFX的主要特性,包括UI设计、图形绘制、媒体播放、数据绑定和样式定制。通过学习这个案例,...

    javafx的一个完整demo

    在这个名为"javafx的一个完整demo"的项目中,我们将探讨如何利用JavaFX来开发一个点菜系统,并实现多窗口间的触发以及数据实时更新到页面的功能。 1. **JavaFX基础知识**:JavaFX是Oracle公司推出的一种基于Java...

    简单的JavaFx登陆

    在实际项目中,登录信息通常会发送到服务器进行验证,而本地只存储加密后的凭据。不过,这个简单的示例可能仅用于演示目的,没有涵盖这些安全实践。 文件名“JavaFXApplication1”可能是项目的主要类,它继承自...

    JavaFX项目:WorldCupHANDBOOK

    本项目“WorldCupHANDBOOK”显然利用JavaFX技术来创建了一个关于2010年世界杯的客户端应用程序,这可能是为了提供赛事信息、赛程表、球队数据等互动体验。 在JavaFX中,开发者可以使用丰富的图形用户界面(GUI)...

    javafx javafx javafx javafx

    javafx

    JavaFx登录跳转完整教程含源码

    一个JavaFx项目通常包含以下几个文件: * 主类(MainApplication):负责启动JavaFx应用程序 * 视图文件(*.fxml):用于描述用户界面组件的布局和外观 * 控制器类(Controller):负责处理用户交互事件和业务逻辑 ...

    javafx-sdk-11.0.2

    自从Java 9发布后,Oracle决定将JavaFX从JDK中剥离出来,作为模块化系统的一部分,这是为了遵循"模块化Java"的目标,使JDK更小、更安全且更易于维护。因此,从Java 11开始,如果你想要使用JavaFX进行开发,你需要...

    GUI:JavaFX 项目

    图形用户界面JavaFX 图形用户界面项目

Global site tag (gtag.js) - Google Analytics