<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/feedsky2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.mxjava.com" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/mxjava" type="application/rss+xml"></fs:self_link><lastBuildDate>Sun, 04 Jan 2009 13:43:02 GMT</lastBuildDate><title>MXJAVA</title><description>关注Java相关技术，关注互联网。</description><image><url>http://www.feedsky.com/feed/mxjava/sc/gif</url><title>MXJAVA</title><link>http://www.mxjava.com/blog</link></image><link>http://www.mxjava.com/blog</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Sun, 04 Jan 2009 14:56:21 GMT</pubDate><item><title>JavaFX相关的学习资源</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/157375010/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的目标是为GUI开发人员提供一个完整的解决方案，包括一个新的声明式语言 &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Script、优于JavaDoc的JavaFXDoc、新的图形API和其他格式资源文件的转换工具等等。Sun期望&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;能够成为Flex和 Silverlight的有力竞争者。&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;学习资源并不是很多，以下是搜集到的一些。&lt;span id=&quot;more-229&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;英文：&lt;/p&gt;
&lt;p&gt;1. &lt;a target=&quot;_blank&quot; title=&quot;JavaFX Official Site&quot; href=&quot;http://www.javafx.com/&quot;&gt;JavaFX Official Site&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. &lt;a target=&quot;_blank&quot; title=&quot;Learning the JavaFX Script Programming Language&quot; href=&quot;http://java.sun.com/javafx/1/tutorials/core/&quot;&gt;Learning the JavaFX Script Programming Language&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3. &lt;a target=&quot;_blank&quot; title=&quot;gui tutorial javafx&quot; href=&quot;http://java.sun.com/javafx/1/tutorials/ui/&quot;&gt;Building GUI Applications With JavaFX&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;4. &lt;a target=&quot;_blank&quot; title=&quot;Building a JavaFX Application Using NetBeans IDE&quot; href=&quot;http://java.sun.com/javafx/1/tutorials/build-javafx-nb-app/&quot;&gt;Building a JavaFX Application Using NetBeans IDE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;5. &lt;a target=&quot;_blank&quot; title=&quot;James Weaver&amp;rsquo;s JavaFX Blog&quot; href=&quot;http://learnjavafx.typepad.com/&quot;&gt;James Weaver&amp;rsquo;s JavaFX Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;6. &lt;a target=&quot;_blank&quot; title=&quot;Introduction to JavaFX Script&quot; href=&quot;http://www.onjava.com/pub/a/onjava/2007/07/27/introduction-to-javafx-script.html?CMP=OTC-FP2116136014&amp;amp;ATT=Introduction%2Bto%2BJavaFX%2BScript&quot;&gt;Introduction to JavaFX Script&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;7. &lt;a target=&quot;_blank&quot; title=&quot;Step by Step: How to build your first JavaFX application&quot; href=&quot;http://jfx.wikia.com/wiki/Step_by_Step%3A_How_to_build_your_first_JavaFX_application&quot;&gt;Step by Step: How to build your first JavaFX application&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;8. &lt;a target=&quot;_blank&quot; title=&quot;Learning JavaFX Script Parts 1 To 3&quot; href=&quot;http://java.sun.com/developer/technicalArticles/scripting/learning_javafxscript.pdf&quot;&gt;Learning JavaFX Script Parts 1 To 3 &lt;/a&gt; (PDF)&lt;/p&gt;
&lt;p&gt;9. &lt;a target=&quot;_blank&quot; title=&quot;My first JavaFX Applet&quot; href=&quot;http://wiki.netbeans.org/JavaFXApplet&quot;&gt;My first JavaFX Applet&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;10 &lt;a target=&quot;_blank&quot; title=&quot;Developing JavaFX applications with Eclipse&quot; href=&quot;http://www.vogella.de/articles/JavaFX/article.html&quot;&gt;Developing JavaFX applications with Eclipse&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;11. &lt;a target=&quot;_blank&quot; title=&quot;Create rich applications with JavaFX Script&quot; href=&quot;http://www.ibm.com/developerworks/java/library/j-javafx/?S_TACT=105AGX01&amp;amp;S_CMP=HP&quot;&gt;Create rich applications with JavaFX Script&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;12. &lt;a target=&quot;_blank&quot; title=&quot;Hands-on: building rich Internet apps with JavaFX 1.0&quot; href=&quot;http://arstechnica.com/news.ars/post/20081207-hands-on-building-rich-internet-apps-with-javafx-1-0.html&quot;&gt;Hands-on: building rich Internet apps with JavaFX 1.0&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;中文：&lt;/p&gt;
&lt;p&gt;1. &lt;a href=&quot;http://developers.sun.com.cn/javafx/index.jsp &quot;&gt;Javafx.com 中文官方网站&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. &lt;a href=&quot;http://developers.sun.com.cn/javafx/1/tutorials/ui/&quot;&gt;Javafx 官方教程&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;small&gt;© hiswing for &lt;a href=&quot;http://www.mxjava.com/blog&quot;&gt;MXJAVA&lt;/a&gt;, 2009. |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/229.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/229.html#comments&quot;&gt;One comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.mxjava.com/blog/archives/229.html&amp;title=JavaFX相关的学习资源&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; rel=&quot;tag&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e8%b5%84%e6%ba%90&quot; rel=&quot;tag&quot;&gt;资源&lt;/a&gt;&lt;br/&gt;
转载原创文章请注明，转载自：MXJAVA[&lt;a href=&quot;http://www.mxjava.com&quot;&gt;http://www.mxjava.com&lt;/a&gt;]
&lt;/small&gt;&lt;/p&gt;
	&lt;h4&gt;标签：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; title=&quot;JavaFX&quot; rel=&quot;tag nofollow&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e8%b5%84%e6%ba%90&quot; title=&quot;资源&quot; rel=&quot;tag nofollow&quot;&gt;资源&lt;/a&gt;&lt;/h4&gt;

	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/228.html&quot; title=&quot;JavaFX开发中的问题 (1月 4, 2009)&quot;&gt;JavaFX开发中的问题&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/227.html&quot; title=&quot;JavaFX基础问答 (1月 4, 2009)&quot;&gt;JavaFX基础问答&lt;/a&gt; (0)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3ac4859c9a934cd38666492ffbe6df0f&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3ac4859c9a934cd38666492ffbe6df0f/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/229.html/feed</wfw:commentRss><description>　　JavaFX的目标是为GUI开发人员提供一个完整的解决方案，包括一个新的声明式语言 JavaFX Script、优于JavaDoc的JavaFXDoc、新的图形API和其他格式资源文件的转换工具等等。Sun期望JavaFX能够成为Flex和 Silverlight的有力竞争者。

　　JavaFX学习资源并不是很多，以下是搜集到的一些。

英文：

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/229.html&quot; title=&quot;JavaFX相关的学习资源&quot;&gt;阅读全文——共641字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/3ac4859c9a934cd38666492ffbe6df0f&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/3ac4859c9a934cd38666492ffbe6df0f/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</description><category>资源</category><category>JAVA开发</category><category>JavaFX</category><pubDate>Sun, 04 Jan 2009 21:43:02 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/229.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=229</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/229.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/157375010/1492496</fs:itemid></item><item><title>JavaFX开发中的问题</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/157369313/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;是一种全新的、基于&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;技术、力求高效、定位于富内容市场的Sun产品。&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;脚本是一种高生产力的脚本语言，它能够使内容开发者建立富媒体并在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;环境中完成内容部署。作为一种声明式、静态类型编程语言，它具有第一级函数、声明式语法、列表推导和基于依赖关系的增量式求值等特性，并能够直接调用平台上的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; API。由于&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;脚本是静态类型的，因此它具有相同的代码结构、重用、封装特性（例如package、类、继承、分离编译、部署单元），这使其能够用于创建和维护大型&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;程序。&lt;/p&gt;
&lt;p&gt;　　在利用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;开发过程中，总会遇到各种问题，总结了一下，希望对你有所帮助。&lt;span id=&quot;more-228&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中有哪些固有的数据类型? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中的固有数据类型：String、Boolean、Number、Integer。&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;与&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;类型之间的对应关系： &lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://pic.yupoo.com/hiswing/900826c42b74/7lo77mbd.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;更多信息请访问： &lt;br /&gt;
&lt;a target=&quot;_new&quot; href=&quot;https://openjfx.dev.java.net/JavaFX_Programming_Language.html#basic_types&quot;&gt;https://openjfx.dev.java.net/JavaFX_Programming_Language.html#basic_types &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如何连接两个字符串？&amp;ldquo;+&amp;rdquo;操作符已经不起作用了！？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　与&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;有所不同，&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;并没有重载&amp;ldquo;+&amp;rdquo;操作符来使其用于字符串连接：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.canvas.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Frame&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;Label&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;quot;Hello&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visible:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;　　如果尝试运行上面的代码，我们将看到以下的控制台输出：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;compile&amp;nbsp;thread:&amp;nbsp;Thread[AWT-EventQueue-&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;number&quot;&gt;6&lt;/span&gt;&lt;span&gt;,main]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;compile&amp;nbsp;&lt;span class=&quot;number&quot;&gt;2.031&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;file:/C:/workspace/F3/HelloWorld.fx:&lt;span class=&quot;number&quot;&gt;6&lt;/span&gt;&lt;span&gt;:&amp;nbsp;incompatible&amp;nbsp;types:&amp;nbsp;expected&amp;nbsp;Number,&amp;nbsp;found&amp;nbsp;String&amp;nbsp;in&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Hello&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;file:/C:/workspace/F3/HelloWorld.fx:&lt;span class=&quot;number&quot;&gt;6&lt;/span&gt;&lt;span&gt;:&amp;nbsp;incompatible&amp;nbsp;types:&amp;nbsp;expected&amp;nbsp;Number,&amp;nbsp;found&amp;nbsp;String&amp;nbsp;in&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;file:/C:/workspace/F3/HelloWorld.fx:&lt;span class=&quot;number&quot;&gt;6&lt;/span&gt;&lt;span&gt;:&amp;nbsp;incompatible&amp;nbsp;types:&amp;nbsp;expected&amp;nbsp;String,&amp;nbsp;found&amp;nbsp;Number&amp;nbsp;in&amp;nbsp;text:&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Hello&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;实现方式之一：修改代码&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;实现方法：&lt;br /&gt;
String s = &amp;quot;Your score is &amp;quot; + n + &amp;quot; out of &amp;quot; + total + &amp;quot;.&amp;quot;;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的字符串表达式操作符{}实现连接字符串的功能：&lt;br /&gt;
var s:String = &amp;quot;Your score is {n} out of {total}.&amp;quot;;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;实现方式之二：调用concat()方法&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;提供了concat()方法来连接两个字符串：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.canvas.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Frame&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;Label&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;quot;Hello&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span&gt;.concat(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;World&amp;quot;&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visible:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;如何将字符串转换为数字?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　目前没有直接的方式，但可以使用下面的代码：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-c&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;value&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;DecimalFormat(&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;0&amp;quot;&lt;/span&gt;&lt;span&gt;).parse(someString);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;如何将TextField的数值绑定到一个数字类型属性?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;使用绑定:：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-c&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;total&amp;nbsp;=&amp;nbsp;10&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;TextField&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;value:&amp;nbsp;bind&amp;nbsp;total&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#8230;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;} &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;也可以使用format进行格式化：&lt;/p&gt;
&lt;p&gt;　　value: bind &amp;quot;{total format as &amp;lt;&amp;lt;#,##0&amp;gt;&amp;gt;}&amp;quot;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;如何设置用在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; Web Start上的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;? &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　JNLP (&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; Network Launch Protocol)是一种基于XML的协议，它能够在网络上部署&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;和&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;应用。这里提供一个用于部署JavaFXPad的JNLP示例。详细示例请见：&lt;a href=&quot;http://download.java.net/general/openjfx/demos/javafxpad.jnlp&quot; target=&quot;_blank&quot;&gt;http://download.java.net/general/openjfx/demos/javafxpad.jnlp&lt;/a&gt;) 。&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;xml&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;encoding&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jnlp&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;spec&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.5+&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;codebase&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://download.&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.net/general/openjfx/demos&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javafxpad.jnlp&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;information&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;&amp;nbsp;Demos:&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;&amp;nbsp;Pad&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;vendor&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Sun&amp;nbsp;Microsystems&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;vendor&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;offline-allowed&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;information&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;security&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;all-permissions&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;security&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;j2se&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.5+&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.sun.com/products/autodl/j2se&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;-vm-args&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;-Xss1M&amp;nbsp;-Xmx256M&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;j2se&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javafxrt.jar&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;main&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Filters.jar&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;swing-layout.jar&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javafxpad.jar&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;application-desc&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;main-class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;net.&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.FXShell&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;argument&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;javafxpad.Main&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;argument&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;application-desc&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jnlp&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&amp;ldquo;Hello Web Start FX&amp;rdquo;示例 &lt;/p&gt;
&lt;p&gt;环境需求&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 5 JDK&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; 从openjfx项目下载后获得的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;代码包中提取出来的/lib/javafxrt.jar and lib/swing-layout.jar&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Hello Web Start JFX&amp;rdquo;程序代码，文件名: HelloWebStart.fx &lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;Frame&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;#8216;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX!&amp;#8217;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;number&quot;&gt;600&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;number&quot;&gt;400&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;Label&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;#8216;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX!&amp;#8217;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font:&amp;nbsp;Font{size:&amp;nbsp;&lt;span class=&quot;number&quot;&gt;32&lt;/span&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visible:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;创建 HelloWebStartJFX.jar &lt;/p&gt;
&lt;p&gt;　　jar cvf HelloWebStartJFX.jar HelloWebStart.fx&lt;/p&gt;
&lt;p&gt;创建 HelloWebStartJFX.jnlp 　文件名: HelloWebStartJFX.jnlp&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;xml&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.0&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;encoding&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;utf-8&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jnlp&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;spec&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.5+&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;codebase&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.example.com/HelloWebStartJFX/&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;HelloWebStartJFX.jnlp&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;information&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;vendor&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;John&amp;nbsp;Doe&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;vendor&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;homepage&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.example.com/HelloWebStartJFX/&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Web&amp;nbsp;Start&amp;nbsp;example&amp;nbsp;for&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;&amp;nbsp;Scripts&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;description&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;offline-allowed&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;information&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;security&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;all-permissions&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;security&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;j2se&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;version&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;1.5+&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.sun.com/products/autodl/j2se&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;j2se&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;javafxrt.jar&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;main&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;swing-layout.jar&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jar&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;HelloWebStartJFX.jar&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;resources&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;application-desc&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;main-class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;net.&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.FXShell&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;argument&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;HelloWebStart&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;argument&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;application-desc&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;jnlp&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;创建签名密钥 &lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;keytool&amp;nbsp;-genkey&amp;nbsp;-alias&amp;nbsp;jfx&amp;nbsp;-dname&amp;nbsp;&amp;quot;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;CN&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;John&lt;/span&gt;&lt;span&gt;&amp;nbsp;Doe,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;O&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;JFX&lt;/span&gt;&lt;span&gt;&amp;nbsp;Inc.&amp;quot;&amp;nbsp;-validity&amp;nbsp;9999&amp;nbsp;-keystore&amp;nbsp;jfx.keystore&amp;nbsp;-keypass&amp;nbsp;keyPassword&amp;nbsp;-storepass&amp;nbsp;storePassword&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;对jar文件进行签名&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;jarsigner&amp;nbsp;-keystore&amp;nbsp;jfx.keystore&amp;nbsp;-verbose&amp;nbsp;-keypass&amp;nbsp;keyPassword&amp;nbsp;-storepass&amp;nbsp;storePassword&amp;nbsp;HelloWebStartJFX.jar&amp;nbsp;jfx&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;jarsigner&amp;nbsp;-keystore&amp;nbsp;jfx.keystore&amp;nbsp;-verbose&amp;nbsp;-keypass&amp;nbsp;keyPassword&amp;nbsp;-storepass&amp;nbsp;storePassword&amp;nbsp;javafxrt.jar&amp;nbsp;jfx&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;jarsigner&amp;nbsp;-keystore&amp;nbsp;jfx.keystore&amp;nbsp;-verbose&amp;nbsp;-keypass&amp;nbsp;keyPassword&amp;nbsp;-storepass&amp;nbsp;storePassword&amp;nbsp;swing-layout.jar&amp;nbsp;jfx&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;连接到HelloWebStartJFX.jnlp　文件名: index.html&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;&amp;quot;-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.0&amp;nbsp;Strict//EN&amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&amp;quot;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;xmlns&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;meta&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;http-equiv&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;Content-Type&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;content&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;text/html;&amp;nbsp;charset=utf-8&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX!&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX!&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;h1&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;href&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;HelloWebStartJFX.jnlp&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;&amp;nbsp;Web&amp;nbsp;Start:&amp;nbsp;Hello&amp;nbsp;Web&amp;nbsp;Start&amp;nbsp;JFX!&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;p&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;body&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;Web服务器: 设置用于.jnlp 的MIME类型，Apache服务器:在http.conf 或者 .htaccess文件中添加类型：&lt;/p&gt;
&lt;p&gt;application/x-&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;-jnlp-file JNLP&lt;/p&gt;
&lt;p&gt;将文件复制到Web服务器&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;mkdir&amp;nbsp;/www/www.example.com/docs/HelloWebStartJFX/&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;cp&amp;nbsp;index.html&amp;nbsp;HelloWebStartJFX.jnlp&amp;nbsp;HelloWebStartJFX.jar&amp;nbsp;javafxrt.jar&amp;nbsp;swing-layout.jar&amp;nbsp;/www/www.example.com/docs/HelloWebStartJFX/&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;启动Web Start：通过www.example.com/HelloWebStartJFX/启动web Start。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如何使用&amp;ldquo;全限定名&amp;rdquo;引用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;类?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　全限定&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;类名必须使用法语引号&amp;lt;&amp;lt; &amp;gt;&amp;gt;进行修饰。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如何访问内部类和接口?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　在访问内部类和接口时，你只能使用内部类的编译名。例如：在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;中的import &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.util.Map.Entry，在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中将表示为import &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.util.Map$Entry。在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中还需要注意的是在引用内部类时，你需要继续使用Outer$Inner 这种形式的语法。为了方便使用，你也可以相应地将导入语句修改为：&lt;/p&gt;
&lt;p&gt;import &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.util.Map$Entry as Entry&lt;/p&gt;
&lt;p&gt;这样就不必重复地使用Outer$Inner形式了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我能够使用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 5的枚举（enumerations）吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　当然可以。你可以采用下面的方式引用它们：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.util.management.MemoryType;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;导入枚举&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;var&amp;nbsp;value&amp;nbsp;=&amp;nbsp;HEAP:MemoryType;&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;使用枚举值&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;HEAP是MemoryType中的枚举值&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;var&amp;nbsp;allValues&amp;nbsp;=&amp;nbsp;MemoryType.values();&amp;nbsp;&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;创建包含所有枚举值的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;数组&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;如何在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中轻松定制Swing组件?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这里提供了一些对Swing组件进行快速封装的代码，它能用于&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;组件层中：文件名：SwingWidget.fx&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;a.b.c;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;javax.swing.JComponent;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;SwingWidget&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;extends&lt;/span&gt;&lt;span&gt;&amp;nbsp;Widget&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;attribute&amp;nbsp;swingComponent:&amp;nbsp;JComponent;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;operation&amp;nbsp;SwingWidget.createComponent():&amp;lt;&amp;lt;javax.swing.JComponent&amp;gt;&amp;gt;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;swingComponent;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;用法：下面提供了一个使用SwingWidget的简单示例。请注意在树形列表中提供的数据来自于默认的树形模型，而不是&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;所特有的。文件名：WidgetTest.fx&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;package&lt;/span&gt;&lt;span&gt;&amp;nbsp;a.b.c;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.canvas.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;.lang.System;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;javax.swing.JTree;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;a.b.c.SwingWidget;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;Frame&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;onClose:&amp;nbsp;operation()&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;System.exit(&lt;span class=&quot;number&quot;&gt;0&lt;/span&gt;&lt;span&gt;);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;SwingWidget&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;swingComponent:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;JTree()&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visible:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;quot;WTF,&amp;nbsp;the&amp;nbsp;Widget&amp;nbsp;Test&amp;nbsp;Framework&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;运行界面：&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;http://pic.yupoo.com/hiswing/850466c42f73/0qzj5rps.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;为什么我的某些.fx文件不能被&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Pad重新装载?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　非常抱歉地告诉你，JavaFXPad目前的功能非常有限。他并不能检测到外部文件的改变。为了让它能够&amp;ldquo;看到&amp;rdquo;你的修改，你需要以手工的方式在JavaFXPad中重新打开修改后的文件。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;如何引用其它&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;文件?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;能够从以下三种资源中引用静态值、变量和类：&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.在同一文件内&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.在相同的目录/包路径下的文件&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.在其它的包路径下的文件&lt;/p&gt;
&lt;p&gt;　　首先，第一种方式非常简单。如果你正在引用处于相同文件中的类，那么你只需要使用类名即可（类可以被定义在引用之前或者之后）。而变量则要在它们被声明之后才能被引用。&lt;/p&gt;
&lt;p&gt;　　对于第二种方式，显而易见，你无须对处于相同包路径下的每个.fx文件都使用import语句，而只要提供具有它们所在的同一包路径的import语句即可。&lt;/p&gt;
&lt;p&gt;　　如果你有其它的内部类或者你需要从不同的包路径下引入类，那么就需要使用import语句完成一点额外工作：使用import语句将.fx文件导入，而不是在此文件中的某个特定的类。例如，如果MediaTable.fx包含两个类：MediaTableColumn和MediaTableRow，那么你只需要importing MediaTable这一条语句就可以导入这两个类。&lt;/p&gt;
&lt;p&gt;　　你也可以像使用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;一样使用 import *语句。但由于这种方式降低了代码的可读性，所以并不推荐给大家。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;脚本提供类似 __LINE__这样的魔术常量（magic constants）吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;魔术常量&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; __DIR__ &amp;#8212; 返回包含当前FX源文件的目录的URL。如果当前文件是从jar文件装载的，那么返回值可能是jar文件的URL。&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; __FILE__ &amp;#8212; 返回当前源文件的URL。&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; __LINE__ &amp;#8212; 返回当前源文件中的当前行。&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;bull; __ARCHIVE__ &amp;#8212; 返回包含当前文件的jar文件的URL。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;示例&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;import&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;javafx&lt;/a&gt;.ui.*;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;Frame&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;#8216;Magic&amp;nbsp;Constants&amp;#8217;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width&amp;nbsp;&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;number&quot;&gt;700&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height&amp;nbsp;:&amp;nbsp;&lt;span class=&quot;number&quot;&gt;400&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;Label&amp;nbsp;{text:&amp;nbsp;&amp;quot;&amp;lt;html&amp;gt;&amp;lt;dl&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dt&amp;gt;__DOCBASE__&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;{__DOCBASE__}&amp;lt;/dd&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dt&amp;gt;__DIR__&amp;lt;/dt&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dd&amp;gt;{__DIR__}&amp;lt;/dd&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dt&amp;gt;__FILE__&amp;lt;/dt&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dd&amp;gt;{__FILE__}&amp;lt;/dd&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dt&amp;gt;__LINE__&amp;lt;/dt&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dd&amp;gt;{__LINE__}&amp;lt;/dd&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;dt&amp;gt;__ARCHIVE__&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;{__ARCHIVE__}&amp;lt;/dd&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/dl&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;visible:&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;true&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&lt;span class=&quot;comment&quot;&gt;//&amp;nbsp;Frame&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中的保留字有哪些？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;after　and　as　assert　attribute　before　bind　break　by　catch　class　continue&lt;br /&gt;
delete　distinct　do　dur　easeboth　easein　easeout　else　endif　extends　false&lt;br /&gt;
finally　first　for　foreach　format　fps　from　function　if　import　in　index　indexof&lt;br /&gt;
insert　instanceof　into　inverse　last　later　lazy　linear　motion　nodebug　new&lt;br /&gt;
not　null　on　operation　or　order　package　private　protected　public　readonly&lt;br /&gt;
return　reverse　select　sizeof　super　then　this　throw (请注意不是throws)&lt;br /&gt;
trigger　true　try　typeof　unitinterval　valueof　var　where　while　xor&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;small&gt;© hiswing for &lt;a href=&quot;http://www.mxjava.com/blog&quot;&gt;MXJAVA&lt;/a&gt;, 2009. |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/228.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/228.html#comments&quot;&gt;No comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.mxjava.com/blog/archives/228.html&amp;title=JavaFX开发中的问题&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; rel=&quot;tag&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e5%9f%ba%e7%a1%80&quot; rel=&quot;tag&quot;&gt;基础&lt;/a&gt;&lt;br/&gt;
转载原创文章请注明，转载自：MXJAVA[&lt;a href=&quot;http://www.mxjava.com&quot;&gt;http://www.mxjava.com&lt;/a&gt;]
&lt;/small&gt;&lt;/p&gt;
	&lt;h4&gt;标签：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; title=&quot;JavaFX&quot; rel=&quot;tag nofollow&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e5%9f%ba%e7%a1%80&quot; title=&quot;基础&quot; rel=&quot;tag nofollow&quot;&gt;基础&lt;/a&gt;&lt;/h4&gt;

	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/227.html&quot; title=&quot;JavaFX基础问答 (1月 4, 2009)&quot;&gt;JavaFX基础问答&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/229.html&quot; title=&quot;JavaFX相关的学习资源 (1月 4, 2009)&quot;&gt;JavaFX相关的学习资源&lt;/a&gt; (1)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/a5d64adc46a23ff3edc5a8f0cec8ceff&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/a5d64adc46a23ff3edc5a8f0cec8ceff/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/228.html/feed</wfw:commentRss><description>　　JavaFX是一种全新的、基于Java技术、力求高效、定位于富内容市场的Sun产品。JavaFX脚本是一种高生产力的脚本语言，它能够使内容开发者建立富媒体并在Java环境中完成内容部署。作为一种声明式、静态类型编程语言，它具有第一级函数、声明式语法、列表推导和基于依赖关系的增量式求值等特性，并能够直接调用平台上的Java API。由于JavaFX脚本是静态类型的，因此它具有相同的代码结构、重用、封装特性（例如package、类、继承、分离编译、部署单元），这使其能够用于创建和维护大型Java程序。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/228.html&quot; title=&quot;JavaFX开发中的问题&quot;&gt;阅读全文——共7456字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/a5d64adc46a23ff3edc5a8f0cec8ceff&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/a5d64adc46a23ff3edc5a8f0cec8ceff/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</description><category>基础</category><category>JAVA开发</category><category>JavaFX</category><pubDate>Sun, 04 Jan 2009 21:34:24 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/228.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=228</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/228.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/157369313/1492496</fs:itemid></item><item><title>JavaFX基础问答</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/157342442/1492496/1/item.html</link><content:encoded>&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;是什么？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&amp;ldquo;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; 脚本是一种声明式、静态类型编程语言。它具有一等函数（first-class functions）、声明式的语法、列表推导（list-comprehensions）及基于依赖关系的增量式求值（incremental dependency-based evaluation）等特征。&amp;rdquo;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法，这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;什么样的函数能够称为&amp;ldquo;first-class functions&amp;rdquo;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　在编程语言中，我们常常把那些将函数作为一等对象的函数称为一等函数（first-class functions）。具体地说，就是编程语言支持在程序执行过程中构造新的函数，并将它们存储在数据结构中作为其它函数的参数的传入参数，并在函数返回时将它们作为函数值返回。本概念并不涵盖任何语言和程序的外部函数或者程序，例如通过调用编译器或者一个eval函数来创建新函数。这里提供一等函数的一个简单示例：map或者mapcar函数，它使用一个函数和一个列表作为参数，然后将通过将函数应用到列表中的每个成员后形成的列表作为返回值。&lt;span id=&quot;more-227&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;declarative syntax&amp;rdquo;是什么意思?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　与大多数依靠程序和显式代码来更新在变量或者属性之间关系的编程语言不同，声明式语言允许数值被声明为另一种方式。&lt;br /&gt;
在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的一个示例：&lt;/p&gt;
&lt;p&gt;var a : Number = bind model.attrib/2;&lt;/p&gt;
&lt;p&gt;无论何时model.attrib的数值发生改变，a的数值都将自动、透明地更新，更新期间无需调用任何程序。这对于在模式和视图对象之间绑定依赖关系、控制GUI行为是特别有用的。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;list-comprehensions&amp;rdquo;是什么意思?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　我们常常把&amp;ldquo;list-comprehensions&amp;rdquo;翻译为&amp;ldquo;列表推导&amp;rdquo;。列表推导是在语言级别上支持以多种方式创建、维护列表的方法。在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中的一些示例：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-c&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;nums&amp;nbsp;=&amp;nbsp;[1,2,3,4];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;nums2&amp;nbsp;=&amp;nbsp;[1..4];&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;//same&amp;nbsp;as&amp;nbsp;above&amp;nbsp;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;numsGreaterThanTwo&amp;nbsp;=&amp;nbsp;nums[.&amp;nbsp;&amp;gt;&amp;nbsp;2];&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;numsLessThanFour&amp;nbsp;=&amp;nbsp;select&amp;nbsp;n&amp;nbsp;from&amp;nbsp;n&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;in&lt;/span&gt;&lt;span&gt;&amp;nbsp;nums&amp;nbsp;where&amp;nbsp;n&amp;nbsp;&amp;lt;&amp;nbsp;4;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;什么是&amp;quot;incremental dependency-based evaluation&amp;quot;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&amp;ldquo;incremental dependency-based evaluation&amp;rdquo;译为&amp;ldquo;基于依赖关系的增量式求值&amp;rdquo;。在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中，属性值能够被声明为依赖于（绑定到）包含其它属性的表达式。这样，当某个被引用的属性数值发生变化时，所有依赖此属性的属性都将直接或者间接地改变它们的数值，此过程无需调用任何的中间程序逻辑。这和在Excel之类的电子表格中使用方程式很类似。这对于那些需要动态维护模式和视图属性，而又时常需要复杂的程序逻辑的GUI开发来说非常有用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;操作（operation）&amp;rdquo; vs &amp;ldquo;函数（function）&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　函数与操作之间的不同之处是函数可以递增地反复求值、可以绑定返回值、绑定参数、绑定变量/属性，隐性绑定本地变量。为了进一步说明，请看下面的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;代码片段：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-c&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;Class&amp;nbsp;Foo&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;attribute&amp;nbsp;zap;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;function&lt;/span&gt;&lt;span&gt;&amp;nbsp;bar(x)&amp;nbsp;{&amp;nbsp;x&amp;nbsp;+&amp;nbsp;zap&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;afoo&amp;nbsp;=&amp;nbsp;Foo&amp;nbsp;{&amp;nbsp;zap:&amp;nbsp;14&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;zing&amp;nbsp;=&amp;nbsp;1;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;var&lt;/span&gt;&lt;span&gt;&amp;nbsp;snap&amp;nbsp;=&amp;nbsp;afoo.bar(zing);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;bind&amp;nbsp;dyn&amp;nbsp;=&amp;nbsp;afoo.bar(zing);&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;p&gt;　　我们非常清楚地看到：无论zing和zap如何变化，snap将不会发生变化。而dyn则会随着zing和zap的变化而改变。因为在zing和zap的数值发生变化时，发生了一个增量式的求值过程：程序将变化的数值传递给依赖其的所有函数，并重新计算数值。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的授权模式是怎么的?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; 的开发者很赞同让用户发布自己的应用，并坚信开源和社区的力量。但当前的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;版本是在评估授权下发布的，因此并不能够被重新发布。你当然能够发布自己编写的基于&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的应用，但不能够和&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;一起捆绑发布，并需要告之使用者：需要到openjfx项目站点下载&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;二进制代码库。并且，由于正处于早期的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;代码还处在评估授权下，因此它不能用于商业用途。当Sun完成了&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的商业化版本开发后，我相信这将会得到改变。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Sun是否规定了发布&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;商业化产品的时间线?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　很抱歉，目前没有准确的时间约定，不过马上就会制定出来。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Runtime像&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Script那样开源吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　是的，&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Runtime即将开放源代码。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;和&amp;hellip;之间的不同&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　与F3比较：F3是Form Follows Function的缩写，这是&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;平台从前的名字。&lt;/p&gt;
&lt;p&gt;　　与&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;比较：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; 是一种兼容JSR-223的脚本语言。它能够使用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;类，并从&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;类中被调用。&lt;/p&gt;
&lt;p&gt;　　与&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 6.0提供的Scriting Engine比较：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 6.0提供的Scriting Engine为兼容JSR-223的脚本语言提供了运行平台，&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;可以在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 6.0提供的Scriting Engine上执行。而&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;并不依赖于&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; 6.0，它可以在任何兼容JSR-223的脚本引擎（比如javax.script.ScriptEngine）下执行。&lt;/p&gt;
&lt;p&gt;　　与SVG比较：SVG 并不是一种程序语言；它是一种数据描述语言。其XML语法对于编程语言来讲是非常可怕的。但SVG的交互性、兼容性是令人满意的。目前&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;开发团队并没有计划直接使用SVG。由于SVG和&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;都源自旧的PostScript和Java2D向量图形模式，因此在某种程度上，我们已经在 &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;中使用了SVG，但目前仍然存在某些值得注意的不兼容性。&lt;a target=&quot;_new&quot; href=&quot;http://blogs.sun.com/chrisoliver/entry/javafx_svg_translator_preview&quot;&gt;Chris Oliver 已经编写了SVG-to-F3 转换程序&lt;/a&gt;。&lt;br /&gt;
与Swing比较：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;是一种编写Swing应用的新方式，它无需了解swing框架和&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;java&lt;/a&gt;语言。&lt;/p&gt;
&lt;p&gt;　　与JavaScript比较：在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;和JavaScript之间唯一相同点就是它们都是兼容JSR-223的脚本语言。&lt;/p&gt;
&lt;p&gt;　　与Ajax比较：Ajax是使用了JavaScript和异步更新的web浏览器端技术。它与&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;的关系：两者都是UI相关的技术。但它们在语言和环境上完全不同。&lt;/p&gt;
&lt;p&gt;　　与Savaje OS的关系：Sun正在计划使用它们购买的Saveje手机系统和JVM来发布&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt; Mobile，后者能在移动设备上运行&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;脚本，它将成为Windows Mobile、Flash Lite的有力竞争者。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我能够使用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;编写Java3D应用吗？它兼容VRML或者X3D标准、Xj3D之类的代码库吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　没有原因不能使用。&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;能够和任何第三方代码库互操作，并且不需要任何特殊语法。目前&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;开发团队正在进行开发支持Java3D的功能。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;是一种RCP(Rich Client Platform) 吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　是的。&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;不仅能够用于RCP开发，也能够用于RIA（Rich internet Applications）开发。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;我能够在web应用中使用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;能够用于编写前端应用、web应用的视图或者用户接口，不过这都需要JVM的支持。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;将代替&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; EE中的JSF和JSP吗?不，JSF 和JSP用于编写纯粹的web应用（对于支持HTML的HTTP客户端来讲是可用的），而&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;需要位于客户端的JVM。如果你希望编写富客户端的话，那么就需要在客户端安装JRE，&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;能够提供与基于Flash的Flex、基于.net的Silverlight相同的功能。常见的应用场景是开发运行在公司内网的应用。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;在运行时需要服务器吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;是一种关注GUI的脚本语言；它主要用于桌面应用，因此不需服务器。如果你计划部署JNLP（&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt; Web Start）的话，那么你需要一台web服务器。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;运行&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;需要什么条件?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　两种条件任选其一：&lt;br /&gt;
Java5以上、一个兼容JSR-223的实现、&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;代码库；&lt;br /&gt;
Java6以上、&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;代码库。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;目前有&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;可用的编译器吗?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;　　OpenFX Compiler是&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JavaFX 下的日志&quot;&gt;JavaFX&lt;/a&gt;编译器项目，目前已经开放源代码。&lt;br /&gt;
详细情况请访问：&lt;a href=&quot;https://openjfx-compiler.dev.java.net/&quot; target=&quot;_blank&quot;&gt;https://openjfx-compiler.dev.java.net/&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;small&gt;© hiswing for &lt;a href=&quot;http://www.mxjava.com/blog&quot;&gt;MXJAVA&lt;/a&gt;, 2009. |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/227.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/227.html#comments&quot;&gt;No comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.mxjava.com/blog/archives/227.html&amp;title=JavaFX基础问答&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; rel=&quot;tag&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e5%9f%ba%e7%a1%80&quot; rel=&quot;tag&quot;&gt;基础&lt;/a&gt;&lt;br/&gt;
转载原创文章请注明，转载自：MXJAVA[&lt;a href=&quot;http://www.mxjava.com&quot;&gt;http://www.mxjava.com&lt;/a&gt;]
&lt;/small&gt;&lt;/p&gt;
	&lt;h4&gt;标签：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/javafx&quot; title=&quot;JavaFX&quot; rel=&quot;tag nofollow&quot;&gt;JavaFX&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e5%9f%ba%e7%a1%80&quot; title=&quot;基础&quot; rel=&quot;tag nofollow&quot;&gt;基础&lt;/a&gt;&lt;/h4&gt;

	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/228.html&quot; title=&quot;JavaFX开发中的问题 (1月 4, 2009)&quot;&gt;JavaFX开发中的问题&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/229.html&quot; title=&quot;JavaFX相关的学习资源 (1月 4, 2009)&quot;&gt;JavaFX相关的学习资源&lt;/a&gt; (1)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/114201beb4e4756adae742ca88d6fe67&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/114201beb4e4756adae742ca88d6fe67/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/227.html/feed</wfw:commentRss><description>JavaFX是什么？

　　&amp;#8220;JavaFX 脚本是一种声明式、静态类型编程语言。它具有一等函数（first-class functions）、声明式的语法、列表推导（list-comprehensions）及基于依赖关系的增量式求值（incremental dependency-based evaluation）等特征。&amp;#8221;JavaFX脚本为多种多样的操作提供了声明式、无中间程序逻辑的语法，这些操作包括创建2D动画、设置属性或者声明在模式和视图对象之间的绑定依赖关系。

什么样的函数能够称为&amp;#8220;first-class functions&amp;#8221;?

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/227.html&quot; title=&quot;JavaFX基础问答&quot;&gt;阅读全文——共3661字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/114201beb4e4756adae742ca88d6fe67&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/114201beb4e4756adae742ca88d6fe67/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</description><category>基础</category><category>JAVA开发</category><category>JavaFX</category><pubDate>Sun, 04 Jan 2009 21:04:31 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/227.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=227</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/227.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/157342442/1492496</fs:itemid></item><item><title>精品：人月神话（PDF）</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/157342443/1492496/1/item.html</link><content:encoded>&lt;p&gt;&lt;img style=&quot;display: block; float: right; margin-left: 10px;&quot; alt=&quot;&quot; src=&quot;http://pic.yupoo.com/hiswing/371606bc3c16/w70pp0kv.jpg&quot; /&gt;　　《人月神话》这是一本几乎被业界神话了的书。或许它真的太好了，以至于人们对它的评价出奇的统一，你几乎听不到关于它的负面评论。本书自第一版以来，畅销20余年不衰，是软件领域绝无仅有的必读经典。本文作者为人们管理复杂项目提供了颇具洞察力的见解，既有很多发人深省的观点，也有大量的软件工程实践。让我们来看看业界同仁是怎么说吧。&lt;/p&gt;
&lt;p&gt;　　 １、阅读这些文字给我带来的收获是：面对《人月神话》，除了表示五体投地的诚服，你既不能做正面言论（那是多余），也不能做负面言论（那是找事）。这是一本可怕的书。我大概花了三周的时间来细读这本书&amp;mdash;&amp;mdash;也许很多人会说我应该花更多的时候或者读更多遍&amp;mdash;&amp;mdash;不过，这不是重点。我在书中印证和找寻思想，并为这本书写下了数百个注释。最终我很遗憾我读了电子版本，因而注释被写在了文档中而不是书页上。如果不是这样，我将没有任何方法扼制自己购买这本书的冲动。&lt;span id=&quot;more-226&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　　２、当我捧起《人月神话》，马上就被深深的吸引了。书中很多细微之处都对我的思维造成了冲击。&lt;/p&gt;
&lt;p&gt;　　３、程序员，就像诗人一样，几乎仅仅工作在单纯的思考中。他们运用自己的想象，来建造自己的&amp;ldquo;城堡&amp;rdquo;。&amp;mdash;&amp;mdash;这句话我非常喜欢，作为我blog的说明。&lt;/p&gt;
&lt;p&gt;　　４、这确实是一本很值得多次阅读的好书，每次阅读可能都能从中得到一些提示。&lt;/p&gt;
&lt;p&gt;　　５、我是在公司经过CMM后开始看这本书的，经历了从无序到CMM转型的阵痛，对书中的东西感触很深。软件开发的泥潭、人月、没有银弹等思想都让我受益匪浅，希望做软件的人一定要看看。&lt;/p&gt;
&lt;p&gt;　　６、这本书挺好的，尤其是作者的基本上所有理论在20多年后仍然很有指导意义，这点在IT领域是不容易的。而且，这本书不是具体教你怎么做，而更倾向于告诉你为什么这样做。现在很多的人开发软件要写文档、要做计划、要做评审，而却不知道为什么要这么做，从这本书就可以找到很多这样的答案。&lt;/p&gt;
&lt;p&gt;　　话不多说，赶紧&lt;a href=&quot;http://www.docin.com/p-5544828.html&quot;&gt;在线阅读&lt;/a&gt;吧。&lt;a href=&quot;http://www.namipan.com/d/e399defeafdef168f4c9036d5d3b5b82a120383475a62800&quot;&gt;也可以下载到本地阅读&lt;/a&gt;。&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;small&gt;© hiswing for &lt;a href=&quot;http://www.mxjava.com/blog&quot;&gt;MXJAVA&lt;/a&gt;, 2008. |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/226.html&quot;&gt;Permalink&lt;/a&gt; |
&lt;a href=&quot;http://www.mxjava.com/blog/archives/226.html#comments&quot;&gt;No comment&lt;/a&gt; |
Add to
&lt;a href=&quot;http://del.icio.us/post?url=http://www.mxjava.com/blog/archives/226.html&amp;title=精品：人月神话（PDF）&quot;&gt;del.icio.us&lt;/a&gt;
&lt;br/&gt;
Post tags: &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/cmmi&quot; rel=&quot;tag&quot;&gt;CMMI&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e7%94%b5%e5%ad%90%e4%b9%a6&quot; rel=&quot;tag&quot;&gt;电子书&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1&quot; rel=&quot;tag&quot;&gt;程序设计&lt;/a&gt;&lt;br/&gt;
转载原创文章请注明，转载自：MXJAVA[&lt;a href=&quot;http://www.mxjava.com&quot;&gt;http://www.mxjava.com&lt;/a&gt;]
&lt;/small&gt;&lt;/p&gt;
	&lt;h4&gt;标签：&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/cmmi&quot; title=&quot;CMMI&quot; rel=&quot;tag nofollow&quot;&gt;CMMI&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e7%94%b5%e5%ad%90%e4%b9%a6&quot; title=&quot;电子书&quot; rel=&quot;tag nofollow&quot;&gt;电子书&lt;/a&gt;, &lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1&quot; title=&quot;程序设计&quot; rel=&quot;tag nofollow&quot;&gt;程序设计&lt;/a&gt;&lt;/h4&gt;

	&lt;ul class=&quot;st-related-posts&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/16.html&quot; title=&quot;为了CMMI而CMMI (9月 5, 2007)&quot;&gt;为了CMMI而CMMI&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/194.html&quot; title=&quot;网页制作完全手册（CHM） (11月 25, 2008)&quot;&gt;网页制作完全手册（CHM）&lt;/a&gt; (3)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/221.html&quot; title=&quot;精通Hibernate（PDF） (12月 26, 2008)&quot;&gt;精通Hibernate（PDF）&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/184.html&quot; title=&quot;精品：经典的Jive（CHM） (11月 3, 2008)&quot;&gt;精品：经典的Jive（CHM）&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/190.html&quot; title=&quot;精品：深入Java虚拟机（PDF） (11月 12, 2008)&quot;&gt;精品：深入Java虚拟机（PDF）&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/187.html&quot; title=&quot;精品：Ruby四合一教程（CHM） (11月 10, 2008)&quot;&gt;精品：Ruby四合一教程（CHM）&lt;/a&gt; (2)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/191.html&quot; title=&quot;精品：Ant权威指南（PDF） (11月 12, 2008)&quot;&gt;精品：Ant权威指南（PDF）&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/61.html&quot; title=&quot;程序设计不是这么简单 (7月 3, 2008)&quot;&gt;程序设计不是这么简单&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/218.html&quot; title=&quot;神奇的C++书籍（PDF） (12月 20, 2008)&quot;&gt;神奇的C++书籍（PDF）&lt;/a&gt; (0)&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/219.html&quot; title=&quot;深入浅出mfc第二版（PDF） (12月 21, 2008)&quot;&gt;深入浅出mfc第二版（PDF）&lt;/a&gt; (0)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/9cfd3adc073c751151de5ba86d0f7d92&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/9cfd3adc073c751151de5ba86d0f7d92/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</content:encoded><wfw:commentRss>http://www.mxjava.com/blog/archives/226.html/feed</wfw:commentRss><description>　　《人月神话》这是一本几乎被业界神话了的书。或许它真的太好了，以至于人们对它的评价出奇的统一，你几乎听不到关于它的负面评论。本书自第一版以来，畅销20余年不衰，是软件领域绝无仅有的必读经典。本文作者为人们管理复杂项目提供了颇具洞察力的见解，既有很多发人深省的观点，也有大量的软件工程实践。让我们来看看业界同仁是怎么说吧。

　　 １、阅读这些文字给我带来的收获是：面对《人月神话》，除了表示五体投地的诚服，你既不能做正面言论（那是多余），也不能做负面言论（那是找事）。这是一本可怕的书。我大概花了三周的时间来细读这本书&amp;#8212;&amp;#8212;也许很多人会说我应该花更多的时候或者读更多遍&amp;#8212;&amp;#8212;不过，这不是重点。我在书中印证和找寻思想，并为这本书写下了数百个注释。最终我很遗憾我读了电子版本，因而注释被写在了文档中而不是书页上。如果不是这样，我将没有任何方法扼制自己购买这本书的冲动。

&lt;span class=&quot;readmore&quot;&gt;&lt;a href=&quot;http://www.mxjava.com/blog/archives/226.html&quot; title=&quot;精品：人月神话（PDF）&quot;&gt;阅读全文——共835字&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;!-- Feedsky ad --&gt;&lt;a href=&quot;http://feed.feedsky.com/~cpm/c/mxjava/9cfd3adc073c751151de5ba86d0f7d92&quot;&gt;&lt;img src=&quot;http://feed.feedsky.com/~cpm/mxjava/9cfd3adc073c751151de5ba86d0f7d92/s.gif&quot; border=&quot;0&quot; style=&quot;margin-top:5px;&quot; /&gt;&lt;/a&gt;&lt;!-- /Feedsky ad --&gt;</description><category>CMMI</category><category>程序设计</category><category>电子书</category><pubDate>Mon, 29 Dec 2008 21:07:16 +0800</pubDate><author>hiswing</author><comments>http://www.mxjava.com/blog/archives/226.html#comments</comments><guid isPermaLink="false">http://www.mxjava.com/blog/?p=226</guid><dc:creator>hiswing</dc:creator><fs:srclink>http://www.mxjava.com/blog/archives/226.html</fs:srclink><fs:srcfeed>http://www.mxjava.com/blog/index.php/feed</fs:srcfeed><fs:itemid>feedsky/mxjava/~7146119/157342443/1492496</fs:itemid></item><item><title>Struts2拦截器简要说明</title><link>http://item.feedsky.com/~feedsky/mxjava/~7146119/157342444/1492496/1/item.html</link><content:encoded>&lt;p&gt;　　通过&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;动态代理一文，我们了解了动态代理的好处，也知道了Struts2的拦截器也是利用&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/java&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 JAVA 下的日志&quot;&gt;Java&lt;/a&gt;动态代理实现的。那么什么是拦截器呢？&lt;/p&gt;
&lt;p&gt;　　拦截器，在AOP（Aspect-Oriented Programming）中用于在某个方法或字段被访问之前进行拦截，然后在之前或之后加入某些操作。拦截是AOP的一种实现策略。在Webwork的中文文档的解释为&amp;mdash;&amp;mdash;拦截器是动态拦截Action调用的对象。它提供了一种机制可以使开发者可以定义在一个action执行的前后执行的代码，也可以在一个action执行前阻止其执行。同时也是提供了一种可以提取action中可重用的部分的方式。拦截器（Interceptor）是&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;Struts&lt;/a&gt; 2的核心组成部分。很多功能（Feature）都是构建在拦截器基础之上的，例如文件的上传和下载、国际化、转换器和数据校验等，&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;Struts&lt;/a&gt; 2利用内建的拦截器，完成了框架内的大部分操作。&lt;span id=&quot;more-225&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;　　Struts2的拦截器和Servlet过滤器类似。在执行Action的execute方法之前，Struts2会首先执行在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;struts&lt;/a&gt;.xml中引用的拦截器，在执行完所有引用的拦截器的intercept方法后，会执行Action的execute方法。要实一个拦截器，你必须继承com.opensymphony.xwork2.interceptor.Interceptor接口，并实现Intercepter接口的以下三个方法：&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-j&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;destroy();&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;init();&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;String&amp;nbsp;intercept(ActionInvocation&amp;nbsp;invocation)&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;throws&lt;/span&gt;&lt;span&gt;&amp;nbsp;Exception; &lt;br /&gt;
    &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div style=&quot;border: 1px solid rgb(204, 204, 204); padding: 5px; display: block; float: right; margin-left: 10px; width: 200px; background-color: rgb(255, 255, 153);&quot;&gt;拦截器链（Interceptor Chain，在&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;Struts&lt;/a&gt; 2中称为拦截器栈Interceptor Stack）。拦截器链就是将拦截器按一定的顺序联结成一条链。在访问被拦截的方法或字段时，拦截器链中的拦截器就会按其之前定义的顺序被调用。&lt;/div&gt;
&lt;p&gt;　　destroy和init不用多说，intercept方法是拦截器的核心方法，所有安装的拦截器都会调用这个方法。&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;Struts&lt;/a&gt; 2已经为提供丰富多样的，功能齐全的拦截器实现。可以到struts2-all-2.0.1.jar或struts2-core-2.0.1.jar包的&lt;a href=&quot;http://www.mxjava.com/blog/archives/tag/struts&quot; class=&quot;st_tag internal_tag&quot; rel=&quot;tag nofollow&quot; title=&quot;标签 struts 下的日志&quot;&gt;struts&lt;/a&gt;-default.xml查看关于默认的拦截器与拦截器链的配置。&lt;/p&gt;
&lt;p&gt;&amp;nbsp;　　timer是Struts2中最简单的拦截器，这个拦截器对应的类是com.opensymphony.xwork2.interceptor.TimerInterceptor。它的功能是记录execute方法和其他拦截器（在timer后面定义的拦截器）的intercept方法执行的时间总和。&lt;/p&gt;
&lt;div class=&quot;codeText&quot;&gt;
&lt;ol class=&quot;dp-xml&quot;&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;action&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;first&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;class&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;action.FirstAction&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;tag-name&quot;&gt;interceptor-ref&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;attribute&quot;&gt;name&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;attribute-value&quot;&gt;&amp;quot;logger&amp;quot;&lt;/span&gt;&lt;span class=&quot;tag&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;tag&quot;&gt;&amp;