javafx项目本地发布的改造

javafx项目启动慢的感觉,是所有刚刚接触javafx的人的共同感觉。这是真的吗?
首先,这种感觉是真实的,javafx项目确实启动的时候会比传统的web页面慢,就像flash一样会有延迟。
其次,这种感觉被其他原因夸大了。为何这么讲我们来分析一下,就清楚了。
先暂不论javafx官网的慢是怎么回事,且看netbeans-6.5-javafx建造javafx项目的情况。缺省建造javafx项目会生成相关文件,包括html jnlp _browser.jnlp文件等[img]/upload/attachment/58827/7334ba61-4e2c-3e83-a72d-b35be69bf3b9.jpg[/img]
打开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中缓存的下载文件[img]/upload/attachment/58829/a2408422-193d-31ef-b030-8186ad1f2112.jpg[/img]可以发现许多下载的资源,因为数字签名等原因,如果你直接到链接位置下载的话可能不成功,可以到[url]http://download.java.net/javafx[/url]这里找到你需要的文件。主要是[url]http://download.java.net/javafx/pack200/[/url]下面的几个,下载到项目本地,至于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交流。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值