﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-The blog of Astro Qi-随笔分类-JavaFX</title><link>http://www.blogjava.net/AstroQi/category/37569.html</link><description>I'm Astro Qi. If call me, please send email to closoastroqi@126.com</description><language>zh-cn</language><lastBuildDate>Thu, 19 Feb 2009 08:17:57 GMT</lastBuildDate><pubDate>Thu, 19 Feb 2009 08:17:57 GMT</pubDate><ttl>60</ttl><item><title>确认是否成功安装了 JavaFX runtime</title><link>http://www.blogjava.net/AstroQi/archive/2009/02/12/254383.html</link><dc:creator>Astro.Qi</dc:creator><author>Astro.Qi</author><pubDate>Thu, 12 Feb 2009 06:14:00 GMT</pubDate><guid>http://www.blogjava.net/AstroQi/archive/2009/02/12/254383.html</guid><wfw:comment>http://www.blogjava.net/AstroQi/comments/254383.html</wfw:comment><comments>http://www.blogjava.net/AstroQi/archive/2009/02/12/254383.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/AstroQi/comments/commentRss/254383.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/AstroQi/services/trackbacks/254383.html</trackback:ping><description><![CDATA[<div g_c_pdin="" g_p_center="" c07="" content="" style="width: 760px;" id="blogtext_fks_085075087081085070092081080095082085088069082095095074">
<p style="text-indent: 2em;"><a href="http://www.java.com/zh_CN/about/#javafx">JavaFX</a> 由一系列产品组成，用于创建包含大量媒体和内容的富 Internet 应用程序。它包括 runtime 和工具，可供 Web 脚本编写者、设计者和开发者用来为桌面、移动设备、TV 和其他平台构建和提供交互式应用程序。</p>
<p style="text-indent: 2em;">JavaFX runtime 与 Java 下载文件集成在一起。当用户安装 Java 6 update10 (jre6u10) 时，同时也将安装 JavaFX runtime。当 Java 安装完成时，JavaFX 的安装也随之完成。</p>
<p style="text-indent: 2em;">下面的步骤用于验证是否成功安装了 JavaFX runtime。</p>
<ol>
    <li>转至&#8220;开始&#8221;。
    </li>
    <li>单击&#8220;控制面板&#8221;。
    </li>
    <li>单击&#8220;Java 控制面板&#8221;。
    </li>
    <li>单击&#8220;临时 Internet 文件&#8221;下方的&#8220;查看&#8221;按钮。</li>
</ol>
<p style="text-indent: 2em;"><img title="确认是否成功安装了 JavaFX runtime - caoyanhua_05 - caoyanhua_05的博客" alt="确认是否成功安装了 JavaFX runtime - caoyanhua_05 - caoyanhua_05的博客" src="http://www.java.com/zh_CN/img/download/controlpanel.jpg" border="0" /></p>
<ol start="5">
    <li>在&#8220;Java 高速缓存查看器&#8221;窗口中单击下拉菜单并选择&#8220;资源&#8221;。</li>
</ol>
<p style="text-indent: 2em;"><img title="确认是否成功安装了 JavaFX runtime - caoyanhua_05 - caoyanhua_05的博客" alt="确认是否成功安装了 JavaFX runtime - caoyanhua_05 - caoyanhua_05的博客" src="http://www.java.com/zh_CN/img/download/installedfx.jpg" border="0" /></p>
<ol start="6">
    <li>查找 javafx-rt.jnlp 条目（如上面屏幕抓图中的高亮部分所示）。如果列表中列出了 javafx-rt.jnlp 文件，则说明您的系统已成功安装了 JavaFX runtime。</li>
</ol>
</div>
<img src ="http://www.blogjava.net/AstroQi/aggbug/254383.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AstroQi/" target="_blank">Astro.Qi</a> 2009-02-12 14:14 <a href="http://www.blogjava.net/AstroQi/archive/2009/02/12/254383.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX 入门</title><link>http://www.blogjava.net/AstroQi/archive/2009/02/12/254379.html</link><dc:creator>Astro.Qi</dc:creator><author>Astro.Qi</author><pubDate>Thu, 12 Feb 2009 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/AstroQi/archive/2009/02/12/254379.html</guid><wfw:comment>http://www.blogjava.net/AstroQi/comments/254379.html</wfw:comment><comments>http://www.blogjava.net/AstroQi/archive/2009/02/12/254379.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/AstroQi/comments/commentRss/254379.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/AstroQi/services/trackbacks/254379.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 什么是JavaFX？SUN（太阳公司）在2007年春天发布了一个叫JavaFX新框架。这是一个泛泛的名字，因为JavaFX主要包含Script
and
Mobile两个组件，在将来SUN将开发更多的组件。
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JavaFX
的核心是 JavaFX 脚本，是一个声明式脚本语言。尽管同Java代码非常不同，但是同Java类具有很高的交互度。 JavaFX
中的很多类主要为了更容易实现Swing和Java2D而设计的。使用 JavaFX
脚本，您能很容易的为文本和图形开发GUI接口、动画和非常COOL的效果。并且，您能将Java和HTML代码包装到 JavaFX 脚本中。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;第二个组件- JavaFX
Mobile，是为移动设备开发Java应用的平台。它最终会成为开发 JavaFX 脚本的平台但是现在同这篇文章实用的技术还很不兼容。</p>
<p><br />
</p>
<strong><span>JavaFX </span></strong><strong><span>应用的一些例子</span></strong><strong></strong>
<p align="left"><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;在开始学习一门新的语言前，让我们先看一下</span></strong><strong><span>JavaFX</span></strong><strong><span>代码的一些例子。</span></strong><strong><span><a href="https://openjfx.dev.java.net/"><span>JavaFX </span><span><span>官方站点</span></span></a></span></strong><strong><span>具有大量的</span></strong><strong><span>JavaFX </span></strong><strong><span>实例。请点击</span></strong><span><a href="http://download.java.net/general/openjfx/demos/tutorial.jnlp"><strong><span>JavaFX
Script 2D Graphics
Tutorial</span></strong></a></span><strong><span>下载该实例</span></strong><strong><span>. </span></strong><strong><span>下载完成以后，双击</span></strong><strong><em><span>tutorial.jnlp</span></em></strong><strong><span> </span></strong><strong><span>文件即可运行。几秒过后，你应该能够看到如图一的</span></strong><strong><span>JavaFX</span></strong><strong><span>实例运行场景（若没有出现该图片，你必须为</span></strong><strong><span>.jnlp</span></strong><strong><span>扩展名重新配置</span></strong><strong><span>Java
Web</span></strong><span> <strong>Start</strong></span><strong><span>）。</span></strong><span>&nbsp;<br />
<span><span style="font-size: 10.5pt; color: rgb(51, 51, 51); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt="Running the tutorial.jnlp" src="http://www.java3z.com/cwbwebhome/article/article2/img4/tutorial.gif" width="450" height="450" /></span><br />
</span></span><em><span>图一、运行</span></em><em><span> tutorial.jnlp tutorial</span></em></p>
<p><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;花些时间看一看这些例子和源代码。仅仅使用有限的几行</span></strong><strong><span>JavaFX</span></strong><strong><span>代码就能得到很多有趣的效果。如果你对于</span></strong><strong><span>JavaFX</span></strong><strong><span>的应用还是感到摸不着头脑，看一看下面的两个</span></strong><strong><span>demo</span></strong><strong><span>。它们是</span></strong><strong><span>StudioMoto </span></strong><strong><span>和</span></strong><strong><span> Tesla Motors </span></strong><strong><span>站点的部分重新实现。您可以从</span></strong><strong><span>OpenJFX </span></strong><strong><span>项目站点下载</span></strong><strong><span>OpenJFX </span></strong><strong><span>脚本</span></strong><strong><u><span>Studiomoto
Demo</span></u></strong><strong><span> </span></strong><strong><span>和</span></strong><strong><span> <span><a href="http://download.java.net/general/openjfx/demos/tesla.jnlp"><span>Tesla
Demo</span></a></span></span></strong><strong><span>。它们需要</span></strong><strong><span>Java
Web Start </span></strong><strong><span>才能运行，但是也取决于你的机器配置它们可能自动运行，或者你必须找到和运行已经下载的</span></strong><strong><span>.jnlp</span></strong><strong><span>文件。</span></strong></p>
<p><span class="STYLE1"><strong>下载安装</strong><strong>JavaFX</strong></span></p>
<p><strong><span>&nbsp;&nbsp;如果你对于学习开发</span></strong><strong><span>JavaFX</span></strong><strong><span>应用程序，您应该了解至少使用</span></strong><strong><span>JavaFX</span></strong><strong><span>三个方法。同时了解</span></strong><strong><span>JavaFX</span></strong><strong><span>应用程序不是基于浏览器的也很重要。最简单最快捷的方法是基于叫</span></strong><strong><span>JavaFXPad</span></strong><strong><span>轻量级的工具。使用该工具的主要优势是你总能立即看到你在编辑器里所作更改的效果。你能从</span></strong><strong><span>JavaFX</span></strong><strong><span>项目网站下载到该工具（</span></strong><span> <span><a href="http://download.java.net/general/openjfx/demos/javafxpad.jnlp"><strong><span>JavaFXPad</span></strong></a> </span></span><strong><span>）。并且运行它需要</span></strong><strong><span>Java
Web Start </span></strong><strong><span>（如图二）。</span></strong></p>
<p><span style="font-size: 10.5pt; color: rgb(51, 51, 51); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">&nbsp;
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt="Running the javafxpad editor" src="http://www.java3z.com/cwbwebhome/article/article2/img4/javafxpad.gif" width="450" height="450" /></span><span><br />
</span><em><span>图二、运行</span></em><em><span>JavaFXPad</span></em><em><span>编辑器</span></em></p>
<p><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;使用</span></strong><strong><span>JavaFX</span></strong><strong><span>的另一种方式是使用</span></strong><strong><span>JavaFX</span></strong><strong><span>脚本</span></strong><strong><span>NetBeans
5.5</span></strong><strong><span>插件(</span></strong>https://openjfx.dev.java.net/<strong><span>)或者</span></strong><strong><span>Eclipse
3.2</span></strong><strong><span>插件（需要下载和安装</span></strong><strong><span>NetBeans
5.5 </span></strong><strong><span>或者</span></strong><strong><span> Eclipse
<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">3.2.2</st1:chsdate>
</span></strong><strong><span>以上集成开发工具</span></strong><strong><span> </span></strong><strong><span>）。若您已经使用</span></strong><strong><span> NetBeans
5.5</span></strong><strong><span>开始你的</span></strong><strong><span>JavaFX</span></strong><strong><span>之旅</span></strong><strong><span>,OpenJFX</span></strong><strong><span>项目网站的对于</span></strong><span><a href="https://openjfx.dev.java.net/javafx-nb55-plugin-install.html"><strong><span>NetBean</span></strong><strong><span><span>开发</span></span></strong><strong><span>JavaFX</span></strong><strong><span><span>的说明</span></span></strong></a></span><strong><span>将会给予你帮助。</span></strong><strong><span> </span></strong><strong><span>相似的如果您使用基于</span></strong><strong><span>Eclipse</span></strong><strong><span>的</span></strong><strong><span>JavaFX</span></strong><strong><span>插件，您可以去</span></strong><strong><span>JavaFX</span></strong><strong><span>的</span></strong><span><a href="https://openjfx.dev.java.net/javafx-eclipse-plugin-install.html"><strong><span>Eclipse</span></strong><strong><span><span>插件</span></span></strong></a></span><strong><span>。注意这篇文章中的所有例子已经在</span></strong><strong><span>NetBeans5.5</span></strong><strong><span>的</span></strong><strong><span>JavaFX</span></strong><strong><span>插件中测试过，但是应该能够使用其他方法运行。</span></strong></p>
<p><strong><span>使用</span></strong><strong><span>NetBeans
5.5</span></strong><strong><span>下的</span></strong><strong><span>JavaFX</span></strong><strong><span>插件开发</span></strong><strong><span>Hello
World </span></strong><strong><span>程序</span></strong></p>
<p><strong><span>每当开始学习一门新的语言时，我们必定要写</span></strong><strong><span>Hello
World </span></strong><strong><span>小程序：</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span>1</span></strong></p>
<p><span>import javafx.ui.*;</span></p>
<p><span>import java.lang.System;</span></p>
<p><span>Frame {</span></p>
<p><span>centerOnScreen: true</span></p>
<p><span>visible: true</span></p>
<p><span>height: 50</span></p>
<p><span>width: 350</span></p>
<p><span>title: "HelloWorld application..."</span></p>
<p><span>background: yellow</span></p>
<p><span>onClose: operation() {System.exit(0);}</span></p>
<p><span>content: Label {</span></p>
<p><span>text: "Hello World"</span></p>
<p><span>}</span></p>
<p><span>}</span></p>
<p><strong><span>在</span></strong><strong><span>NetBeans5.5</span></strong><strong><span>开发和运行这个小程序步骤如下</span></strong><strong><span>:</span></strong></p>
<p><span><span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>启动</span></strong><strong><span>NetBeans
5.5.</span></strong></p>
<p><span><span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>从主菜单选择</span></strong><strong><span>File
-&gt; New Project.</span></strong></p>
<p><span><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在新项目窗口</span></strong><strong><span>,</span></strong><strong><span>选择目录常规目录和</span></strong><strong><span> Java </span></strong><strong><span>应用项目</span></strong><strong><span>(</span></strong><strong><span>点击下一步</span></strong><strong><span>).</span></strong></p>
<p><span><span>4.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在新的</span></strong><strong><span>Java</span></strong><strong><span>应用程序窗口</span></strong><strong><span>,</span></strong><strong><span>在项目名文本框敲入</span></strong><strong><span> "FXExample".</span></strong></p>
<p><span><span>5.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在相同窗口，用浏览按钮选择项目的目录</span></strong><strong><span>.</span></strong></p>
<p><span><span>6.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>取消</span></strong><strong><span> "Set
as main project" </span></strong><strong><span>和</span></strong><strong><span> "Create main
class" </span></strong><strong><span>复选框</span></strong><strong><span> (</span></strong><strong><span>点击完成</span></strong><strong><span>).</span></strong></p>
<p><span><span>7.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>右击</span></strong><strong><span>FXExample
-&gt; Source Packages </span></strong><strong><span>和选择</span></strong><strong><span> New -&gt;
File/Folder.</span></strong></p>
<p><span><span>8.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在新的文件窗口，选择另一个目录和</span></strong><strong><span>JavaFX</span></strong><strong><span>文件类型（点击下一步）</span></strong><strong><span>.</span></strong></p>
<p><span><span>9.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在新的</span></strong><strong><span>JavaFX</span></strong><strong><span>文件窗口，敲入</span></strong><strong><span>"HelloWorld" </span></strong><strong><span>作为文件名和</span></strong><strong><span>"src"</span></strong><strong><span>作为目录</span></strong><strong><span>(</span></strong><strong><span>点击完成</span></strong><strong><span>).</span></strong></p>
<p><span><span>10.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>拷贝源码列表</span></strong><strong><span>1</span></strong><strong><span>到</span></strong><strong><span> <em><span>HelloWorld.fx</span></em><span>.</span></span></strong></p>
<p><span><span>11.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>右击</span></strong><strong><em><span>FXExample</span></em></strong><strong><span> </span></strong><strong><span>项目选择项目属性</span></strong><strong><span>.</span></strong></p>
<p><span><span>12.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在项目</span></strong><strong><span>FXExample</span></strong><strong><span>属性对话框</span></strong><strong><span> ,</span></strong><strong><span>选择从目录面板运行节点</span></strong><strong><span>.</span></strong></p>
<p><span><span>13.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>在参数文本框敲入</span></strong><strong><span> "Hello World"
(</span></strong><strong><span>点击完成</span></strong><strong><span>).</span></strong></p>
<p><span><span>14.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>右击</span></strong><strong><em><span>FXExample</span></em></strong><strong><span> </span></strong><strong><span>项目选择运行项目选项</span></strong><strong><span>.</span></strong></p>
<p><strong><span>如果一切良好</span></strong><strong><span>,</span></strong><strong><span>你应该看到一个窗体如图三：</span></strong></p>
<span style="font-size: 10.5pt; color: rgb(51, 51, 51); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt="Running the Hello World application" src="http://www.java3z.com/cwbwebhome/article/article2/img4/helloworld.gif" width="352" height="53" /></span>
<p><span><br />
</span><em><span>图三、</span></em><em><span> </span></em><em><span>在</span></em><em><span>NetBeans
5.5</span></em><em><span>中运行</span></em><em><span> Hello World </span></em><em><span>应用程序</span></em></p>
<p><strong><span>现在你拥有了开发和运行任何</span></strong><strong><span>JavaFX</span></strong><strong><span>应用程序的</span></strong><strong><span>IDE</span></strong><strong><span>软件支持</span></strong><strong><span>.</span></strong></p>
<p><strong><span>JavaFX </span></strong><strong><span>语法</span></strong><strong></strong></p>
<p><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;在正式开始学习</span></strong><strong><span>JavaFX</span></strong><strong><span>，让我们浏览一遍该语言的语法要点。如果你非常熟悉</span></strong><strong><span>Java</span></strong><strong><span>语言，这些语法的大多数会让你感到非常熟悉，但是有一些会相当不一样。</span></strong></p>
<p><strong><span>JavaFX </span></strong><strong><span>原始类型</span></strong><strong></strong></p>
<p><strong><span>&nbsp;&nbsp;&nbsp;&nbsp;JavaFX </span></strong><strong><span>支持原始类型：</span></strong><strong><span>String
(</span></strong><strong><span>对应于</span></strong><strong><span> <span>java.lang.String), Boolean
(</span></span></strong><strong><span>对应于</span></strong><strong><span> <span>java.lang.Boolean), Number
(</span></span></strong><strong><span>对应于</span></strong><strong><span> <span>java.lang.Number) </span></span></strong><strong><span>和</span></strong><strong><span> <span>Integer
(</span></span></strong><strong><span>对应于</span></strong><strong><span> <span>byte,short,int,long,BigInteger).</span></span></strong></p>
<p><strong><span>JavaFX </span></strong><strong><span>变量</span></strong><strong></strong></p>
<p><strong><span>一个</span></strong><strong><span>JavaFX</span></strong><strong><span>变量使用</span></strong><strong><span>var</span></strong><strong><span>关键字声明。看下面的例子：</span></strong></p>
<p><span>var x:Number = 0.9;</span></p>
<p><span>var name:String = "John";</span></p>
<p><span>var y:Integer = 0;</span></p>
<p><span>var flag:Boolean = true;</span></p>
<p><span>var numbers:Number = [1,2,3,4,5]</span><span>；</span></p>
<p><span class="STYLE1"><strong>JavaFX </strong><strong>操作符</strong></span></p>
<p><strong><span>众所周知的</span></strong><strong><span>Java</span></strong><strong><span>操作符</span></strong><strong><span>&amp;&amp;,
|| </span></strong><strong><span>和</span></strong><strong><span> </span></strong><strong><span>!</span></strong><strong><span> </span></strong><strong><span>在</span></strong><strong><span>JavaFX</span></strong><strong><span>中采用下面的形式：</span></strong></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Java: </span><span>&amp;&amp;
</span><span>JavaFX: </span><span>and</span><br />
<span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Java: </span><span>||
&nbsp;</span><span>JavaFX: </span><span>or</span></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>Java: </span><span>!
</span><span>&nbsp;&nbsp;&nbsp;JavaFX: </span><span>not</span></p>
<p><strong><span>JavaFX </span></strong><strong><span>方法</span></strong><strong></strong></p>
<p><span><strong>JavaFX </strong></span><strong><span>支持这些方法</span></strong><strong><span>. </span></strong><strong><span>具有参数、变量声明和返回值的方法举例：</span></strong></p>
<p><span>function taxes(x) { var t:Number = (19.0/100.0)*x; return t;
}</span></p>
<p><strong><span>JavaFX if </span></strong><strong><span>语句</span></strong><strong></strong></p>
<p><span><br />
</span><span>在</span><strong><span>JavaFX</span></strong><strong><span>中，你你能通过使用</span></strong><strong><span>if</span></strong><strong><span>语句使用条件判断。</span></strong></p>
<p><span>if (</span><em><span>条件</span></em><span>) {
//</span><span>动作</span><span> } else if (</span><span>条件</span><span>) {
//</span><span>动作</span><span> } else { //</span><span>动作</span><span> }</span></p>
<p><strong><span>JavaFX while </span></strong><strong><span>语句</span></strong><strong></strong></p>
<p><strong><span>这个</span></strong><strong><span> </span></strong><strong><span>while</span></strong><strong><span> </span></strong><strong><span>语句同在</span></strong><strong><span>Java</span></strong><strong><span>中的</span></strong><strong><span>while</span></strong><strong><span>语句相似。</span></strong><strong><span> </span></strong><strong><span>while
(</span></strong><strong><em><span>条件</span></em></strong><strong><span>)
{
//</span></strong><strong><span>动作</span></strong><strong><span>}</span></strong></p>
<p><strong><span>JavaFX for </span></strong><strong><span>语句</span></strong><strong></strong></p>
<p><strong><span>for</span></strong><strong><span> </span></strong><strong><span>语句用于循环和间隔（间隔使用方括号</span></strong><strong><span>[]</span></strong><strong><span>和</span></strong><strong><span> </span></strong><strong><span>..</span></strong><strong><span> </span></strong><strong><span>符号表示</span></strong><strong><span>).</span></strong></p>
<p><span>//i </span><span>将取值：</span><span> 0, 1, 2, 3, 4,
5</span><span>象在</span><span> (i in [0..5]) {
//</span><em><span>伴随</span></em><em><span> i</span></em><em><span>的动作</span></em><span> }</span><span>代码块中</span></p>
<p><strong><span>JavaFX </span></strong><strong><span>过程</span></strong><strong></strong></p>
<p><span><strong>JavaFX </strong></span><strong><span>过程以</span></strong><strong><span>operation</span></strong><strong><span> </span></strong><strong><span>关键字为标志。一个简单的例子：</span></strong></p>
<p><span>operation startClock() {do{ while(true) {</span></p>
<p><span>if(seconds&gt;=360) {seconds = 0; seconds = [0,6..360] dur 60000
linear;}</span></p>
<p><span>if(minutes&gt;=360) {minutes = 0; minutes = [0,6..360] dur
3600000 linear;}</span></p>
<p><span>if(hours&gt;=360) {hours = 0; hours = [0,6..360] dur 43200000
linear;} } }}</span></p>
<p><span class="STYLE1"><strong>JavaFX </strong><strong>类</strong></span></p>
<p><span><strong>&nbsp;&nbsp;&nbsp;JavaFX </strong></span><strong><span>类使用</span></strong><strong><span>class</span></strong><strong><span>关键字</span></strong><strong><span>. </span></strong><strong><span>一个</span></strong><strong><span> JavaFX </span></strong><strong><span>类能够使用</span></strong><strong><span>extends</span></strong><strong><span> </span></strong><strong><span>关键字继承多个类使用逗号分割</span></strong><strong><span>这些类的名字。在花括号中间你可以放属性、方法和过程，例如下面的例子：</span></strong></p>
<p><span>class Order {</span></p>
<p><span>attribute order_nr: String;</span></p>
<p><span>attribute ordertype: Order inverse Order.products;</span></p>
<p><span>attribute products: Order* inverse Order.ordertype;</span></p>
<p><span>function getOrderNr(): String;</span></p>
<p><span>operation addOrder(order: Order);</span></p>
<p><span>}</span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong><span>注意属性使用</span></strong><strong><span>attribute</span></strong><strong><span>关键字声明，方法体和过程不在类体中，它们单元定义在类声明以后，在下文你很快就能看到。</span></strong><strong><span> <span>inverse</span></span></strong><strong><span> </span></strong><strong><span>子句是一个可选项</span></strong><strong><span> </span></strong><strong><span>，它表示一种同在类中另一个属性的双向关系。在这个案例中</span></strong><strong><span>JavaFX</span></strong><strong><span>将自动完成更新（插入、替代和删除）你能在</span></strong><strong><span>Java.net</span></strong><strong><span>上找到更完整的</span></strong><span><a href="https://openjfx.dev.java.net/JavaFX_Programming_Language.html"><strong><span><span>文档</span></span></strong></a></span><strong><span>。</span></strong></p>
<p><span class="STYLE1"><strong>熟悉</strong><strong>JavaFX</strong></span></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<strong><span>在本小节，您将会看到一系列的小例子，这些例子覆盖</span></strong><strong><span>JavaFX</span></strong><strong><span>的各种特性和功能。主要目的是让你熟悉</span></strong><strong><span>JavaFX</span></strong><strong><span>代码和</span></strong><strong><span>JavaFX</span></strong><strong><span>应用程序的逻辑。第二个目标是当你需要开发仅仅需要几行代码就会有非常酷的</span></strong><strong><span>GUI</span></strong><strong><span>，动画和好的效果时候使你确信</span></strong><strong><span>JavaFX</span></strong><strong><span>值得好好研究一下。所有列出的例子将介绍关于</span></strong><strong><span>JavaFX</span></strong><strong><span>的技巧。每一个例子只使用很少的描述处理，所以不要想找到大量的注释。所有这些可访问的例子你都是你自己就能运行的，所以让我们开始吧。当我们需要使用</span></strong><strong><span>System.out.println</span></strong><strong><span> </span></strong><strong><span>打印属性值时候，你可以把它的名字放进含有引用的字符串，象源码列表</span></strong><strong><span>2</span></strong><strong><span>中所示的那样。</span></strong></p>
<p><span>源码列表</span><span>2</span></p>
<p><span>//</span><span>带有应用文本的表达式</span></p>
<p><span>import java.lang.System;<br />
var mynumber:Number =
10;<br />
System.out.println("</span><span>数字是</span><span>:
{mynumber}");</span></p>
<p><strong><span>结果</span></strong><strong><span>: </span></strong><strong><span>数字是</span></strong><strong><span>:
10<br />
<em>JavaFX</em> </span></strong><strong><span>支持变量的计数这样一个有用的功能。这个功能利用下面的三个操作符实现：</span></strong></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>?</span></strong><strong><span>: </span></strong><strong><span>可选的</span></strong><strong><span>(</span></strong><strong><span>可能为</span></strong><strong><span> </span></strong><strong><span>null</span></strong><strong><span>)</span></strong></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>+</span></strong><strong><span>:
1</span></strong><strong><span>或多个</span></strong></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><span>*</span></strong><strong><span>:
0</span></strong><strong><span>或多个</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span>3</span></strong></p>
<p><span>//</span><span>变量计数</span></p>
<p><span>import java.lang.System;<br />
var mynumbers:Number* =
[1,2,7];<br />
System.out.println("</span><span>数字是</span><span>:
{mynumbers}");</span></p>
<p><span>结果</span><span>: </span><span>数字是</span><span>: 1 2
7<br />
</span><strong><span>&nbsp;&nbsp;&nbsp;在</span></strong><strong><span>JavaFX</span></strong><strong><span>中</span></strong><strong><span>, </span></strong><strong><span>在声明部分不指定变量的类型是可能的。</span></strong><strong><span> </span></strong><strong><span>这不会产生错误，因为</span></strong><strong><span>JavaFX </span></strong><strong><span>将在该变量的使用中自动发现它的类型。</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span> 4</span></strong></p>
<p><span>//</span><span>变量类型是可选的</span></p>
<p><span>import java.lang.System; <br />
var days =
["Monday,","Friday,","Sunday"]; <br />
System.out.println("</span><span>你必须工作</span><span>:
{days}");</span></p>
<p><span>结果</span><span>: </span><span>你必须工作</span><span>: Monday, Friday,
Sunday<br />
</span><strong><span>你可以使用</span></strong><strong><span>sizeof</span></strong><strong><span> </span></strong><strong><span>操作符得到一个数组的大小：</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span> 5</span></strong></p>
<p><span>//</span><span>得到一个数组的大小</span></p>
<p><span>import java.lang.System;<br />
var lotto =
[21,30,11,40,5,6];<br />
System.out.println("</span><span>数组大小</span><span>:{sizeof
lotto}");</span></p>
<p><span>结果</span><span>: </span><span>数组大小</span><span>: 6</span></p>
<p><strong><span>您能使用</span></strong><strong><span> </span></strong><strong><span>[]</span></strong><strong><span> </span></strong><strong><span>操作符得到满足指定条件的子数组。条件放在</span></strong><strong><span> </span></strong><strong><span>[]</span></strong><strong><span> </span></strong><strong><span>中作为布尔判断</span></strong><strong><span> </span></strong><strong><span>。这个与</span></strong><strong><span>XPath </span></strong><strong><span>谓词相似</span></strong><strong><span>.</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span> 6</span></strong></p>
<p><span>//</span><span>使用</span><span>[] </span><span>操作符</span><span> -</span><span>与</span><span> XPath</span><span>相似</span></p>
<p><span>import java.lang.System;<br />
var mynumbers =
[1,2,7,3,30,15,14,6,4];<br />
var numbers = mynumbers[n|n &lt; 10]; <br />
System.out.println("</span><span>小于</span><span>10</span><span>的数字为</span><span>:
{numbers}");</span></p>
<p><span>结果</span><span>: </span><span>小于</span><span>10</span><span>的数字为</span><span>: 1 2 7 3 6
4<br />
</span><strong><span>你可以使用</span></strong><strong><span>indexof</span></strong><strong><span> </span></strong><strong><span>操作符得到指定序数位置的数组中一个元素<em>：</em></span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span> 7</span></strong></p>
<p><span>//</span><span>返回指定序数位置的数组中的元素</span></p>
<p><span>import java.lang.System;</span></p>
<p><span>var mynumbers = [1,2,7,3,30,15,14,6,4]; <br />
var number_four =
mynumbers[indexof . == 4]; <br />
System.out.println("</span><span>数字</span><span>4:{number_four}");</span></p>
<p><span>结果</span><span>: </span><span>数字</span><span>4:
30<br />
<br />
</span><strong><span>当您想要向一个数组中插入一个元素时，你可以使用下列</span></strong><strong><span> </span></strong><strong><span>insert</span></strong><strong><span> </span></strong><strong><span>语句中的一个</span></strong><strong><em><span>:</span></em></strong></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>as first</span><span>: </span><span>在第一个位置插入</span></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>as
last</span><span>:</span><span>在最后一个位置</span><span>(</span><span>默认</span><span>)</span><span>插入</span></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>before</span><span>: </span><span>在前一个位置插入</span></p>
<p><span><span>&#183;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span>after</span><span>:</span><span>在下一个位置插入</span></p>
<p><strong><span>你可以使用</span></strong><strong><span> </span></strong><strong><span>delete</span></strong><strong><span> </span></strong><strong><span>语句从一个数组中删除一个元素</span></strong><strong><span>.</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span>8</span></strong></p>
<p><span>//</span><span>插入和删除语句</span><span><br />
import
java.lang.System;<br />
var mynumbers = [1,2,7]; <br />
System.out.println("Before inserting anything:
{mynumbers}");<br />
insert 10 into mynumbers;<br />
System.out.println("After
inserting at the end the \"10\" value:{mynumbers}");<br />
insert [8,6,90] as
first into mynumbers; <br />
System.out.println("After inserting at the first
positions the \"8,6,90\" values:{mynumbers}");<br />
insert 122 as last into
mynumbers;<br />
System.out.println("After inserting at the end the \"122\"
value:{mynumbers}");<br />
insert 78 before mynumbers[3];<br />
insert 11 after
mynumbers[3];<br />
System.out.println("After inserting the \"78\" and \"11\"
values before/after the 3rd element:{mynumbers}");<br />
delete mynumbers[.
== 122];<br />
System.out.println("After deleting:{mynumbers}");</span></p>
<p><span>结果</span><span>:<br />
Before inserting anything: 1 2 7<br />
After
inserting the 10 value at the end: 1 2 7 10<br />
After inserting the 8, 6,
and 90 values at the first positions: 8 6 90 1 2 7 10<br />
After inserting
the 122 value at the end: 8 6 90 1 2 7 10 122<br />
After inserting the 78
and 11 values before/after the 3rd element: 8 6 90 78 11 1 2 7 10
122<br />
After deleting: 8 6 90 78 11 1 2 7 10</span></p>
<p><em><span>JavaFX</span></em><em><span>中的一个非常好的功能是</span></em><em><span>list</span></em><em><span>。这个功能使用</span></em><span> </span><span>select</span><span> </span><span>和</span><span> </span><span>foreach</span><span> </span><span>操作符实现。这有两个例子（一个使用</span><span> </span><span>select</span><span> </span><span>和使用</span><span> </span><span>foreach</span><em><span>) </span></em><em><span>得到指定间隔的奇数。</span></em></p>
<p><strong><span>源码列表</span></strong><strong><span>9</span></strong></p>
<p><span>//JavaFX</span><span>中的</span><span> select </span><span>和</span><span> foreach </span><span>操作符</span></p>
<p><span>import java.lang.System; <br />
function odd(p:Number) <br />
{ return
select i from i in [1.0 ..p]<br />
&nbsp;where (i%2 == 0.0); <br />
}</span></p>
<p><span>var result = odd(10.0); <br />
System.out.println("Odd
numbers:{result}");</span></p>
<p><span>结果</span><span>: Odd numbers: 2.0 4.0 6.0 8.0 10.0</span></p>
<p><strong><span>源码列表</span></strong><strong><span>10
(</span></strong><strong><span>同</span></strong><strong><span> </span></strong><strong><span>源码列表</span></strong><strong><span> 9</span></strong><strong><span>相同</span></strong><strong><span>, </span></strong><strong><span>但是有</span></strong><strong><span> foreach)</span></strong></p>
<p><span>//JavaFX</span><span>中的</span><span>select </span><span>和</span><span> foreach </span><span>操作符</span></p>
<p><span>import java.lang.System; <br />
function odd(p:Number) { <br />
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>return foreach (i in
[1.0 ..p] <br />
<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>where (i%2 == 0.0)) i; <br />
<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>} <br />
var result =
odd(10.0);<br />
System.out.println("Odd numbers:{result}");</span></p>
<p><strong><span>这个例子显示了</span></strong><strong><span> </span></strong><strong><span>foreach</span></strong><strong><span> </span></strong><strong><span>对于创建好的效果非常有用。</span></strong></p>
<p><strong><span>源码列表</span></strong><strong><span>11</span></strong></p>
<p><span>//JavaFX</span><span>中的</span><span> select </span><span>和</span><span> foreach </span><span>操作符</span></p>
<p><span>import java.lang.*;<br />
import javafx.ui.*; <br />
import
javafx.ui.canvas.*;<br />
Frame { <br />
centerOnScreen: true <br />
visible: true <br />
height: 500 <br />
width: 500 <br />
title: "Foreach demo..." <br />
onClose:
operation() {<br />
System.exit(0);<br />
} <br />
content: ScrollPane { <br />
background: white <br />
view: Canvas {<br />
&nbsp;content: bind <br />
foreach (i in [1..8], j in [1..8]) <br />
Rect { x: i*30 y: j*30 width:30
height:30 fill: Color {red: (100+i) green: (100+j) blue: (100+(i*j))<br />
} <br />
stroke:white <br />
strokeWidth:1 } }</span></p>
<p><span>}</span></p>
<p><span>}</span></p>
<p><span style="font-size: 10.5pt; color: rgb(0, 51, 102); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">&nbsp;
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt="Running listing 11" src="http://www.java3z.com/cwbwebhome/article/article2/img4/grill.gif" width="249" height="248" /></span><span><br />
</span><em><span>图四</span></em><em><span>. </span></em><em><span>运行源码列表</span></em><em><span> 11</span></em></p>
<p><em><span>使用双箭头括号引用为</span></em><em><span>JavaFX</span></em><em><span>关键字的变量名或者属性名，如下所示。</span></em></p>
<p><strong><span>源码列表</span></strong><strong><span> 12</span></strong></p>
<p><span>//</span><span>标志符引用</span></p>
<p><span>import java.lang.System;</span></p>
<p><span>for (&lt;&lt;for&gt;&gt; in [0..3]) {</span></p>
<p><span>System.out.println("for = {&lt;&lt;for&gt;&gt;}");</span></p>
<p><span>}</span></p>
<p><span>结果</span><span>: for = 0 for = 1 for = 2 for = 3</span></p>
<p><em><span>当你需要开发</span></em><em><span>Swing</span></em><em><span>接口时，</span></em><em><span>JavaFX </span></em><em><span>是一个伟大的工具，因为</span></em><em><span> JavaFX </span></em><em><span>考虑了非常多用来降低代码量和同</span></em><span>javax.swing.*</span><span>包</span><em><span>并存友好。在上一节（使用</span></em><em><span>NetBeans5.5</span></em><em><span>中的</span></em><em><span>JavaFX</span></em><em><span>插件测试</span></em><em><span>Hello
World</span></em><em><span>应用程序），你看到了创建一个窗体是如何容易。这有两个更好的例子：创建按钮和文本框。</span></em></p>
<p><span>源码列表</span><span> 13</span></p>
<p><span>import javafx.ui.*;</span></p>
<p><span>import java.lang.System;</span></p>
<p><span>Frame{</span></p>
<p><span>content: Button { text: "Exit" action: operation() {
System.exit(0); } }</span></p>
<p><span>visible: true</span></p>
<p><span>}</span></p>
<p><span style="font-size: 10.5pt; color: rgb(0, 51, 102); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">&nbsp;
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt=" Running listing 13" src="http://www.java3z.com/cwbwebhome/article/article2/img4/button.gif" width="125" height="59" /></span><span><br />
</span><em><span>图五</span></em><em><span>. </span></em><em><span>运行源码</span></em><em><span> 13</span></em></p>
<p><strong><span>源码列表</span></strong><strong><span>14</span></strong></p>
<p><span>import javafx.ui.*;</span></p>
<p><span>Frame {</span></p>
<p><span>content: GroupPanel { var myRow = Row { alignment: BASELINE
}</span></p>
<p><span>var label_col = Column { alignment: TRAILING }</span></p>
<p><span>var field_col = Column { alignment: LEADING }</span></p>
<p><span>rows: [myRow] columns: [label_col, field_col]</span></p>
<p><span>content: [SimpleLabel { row: myRow column: label_col text: "Type
your text here:" }, TextField { row: myRow column: field_col columns: 50
}] }</span></p>
<p><span>visible: true</span></p>
<p><span>};</span></p>
<p><span style="font-size: 10.5pt; color: rgb(0, 51, 102); font-family: 'Times New Roman';" lang="EN-US">
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">&nbsp;
<v:stroke joinstyle="miter"></v:stroke>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"></v:f>
<v:f eqn="sum @0 1 0"></v:f>
<v:f eqn="sum 0 0 @1"></v:f>
<v:f eqn="prod @2 1 2"></v:f>
<v:f eqn="prod @3 21600 pixelWidth"></v:f>
<v:f eqn="prod @3 21600 pixelHeight"></v:f>
<v:f eqn="sum @0 0 1"></v:f>
<v:f eqn="prod @6 1 2"></v:f>
<v:f eqn="prod @7 21600 pixelWidth"></v:f>
<v:f eqn="sum @8 21600 0"></v:f>
<v:f eqn="prod @7 21600 pixelHeight"></v:f>
<v:f eqn="sum @10 21600 0"></v:f>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path>
<o:lock v:ext="edit" aspectratio="t"></o:lock>
</v:shapetype>
<img alt="Running listing 14" src="http://www.java3z.com/cwbwebhome/article/article2/img4/textfield.gif" width="539" height="76" /></span><span><br />
</span><em><span>图六</span></em><em><span>. </span></em><em><span>运行源码</span></em><em><span> 14</span></em></p>
<p><span>Java.net </span><span>也有使用</span><span>JavaFx</span><span>创建</span><span> <span><a href="https://openjfx.dev.java.net/Getting_Started_With_JavaFX.html"><span>Swing</span><span><span>接口</span></span></a></span></span><span>的教程。</span></p>
<p><span><br />
</span></p>
<img src ="http://www.blogjava.net/AstroQi/aggbug/254379.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/AstroQi/" target="_blank">Astro.Qi</a> 2009-02-12 14:07 <a href="http://www.blogjava.net/AstroQi/archive/2009/02/12/254379.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>