﻿<?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-&lt;font color="green"&gt;迭戈的博客&lt;/font&gt;</title><link>http://www.blogjava.net/aplomb/</link><description /><language>zh-cn</language><lastBuildDate>Sat, 18 Apr 2026 11:17:43 GMT</lastBuildDate><pubDate>Sat, 18 Apr 2026 11:17:43 GMT</pubDate><ttl>60</ttl><item><title>JavaFX 时钟</title><link>http://www.blogjava.net/aplomb/archive/2007/05/21/118989.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 21 May 2007 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/21/118989.html</guid><description><![CDATA[<img src="http://sellmic.com/blog/wp-content/uploads/2007/05/javafx-clock.jpg">&nbsp;<br><br>今天看到这位博客的博主，把Chris Oliver 写的时钟改了一些代码，变成这个样子，呵呵，有兴趣的朋友可以参考下学习下面的源代码：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javafx.ui.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;2</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;javafx.ui.canvas.</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">&nbsp;3</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.util.Date;<br></span><span style="COLOR: #008080">&nbsp;4</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">&nbsp;5</span><span style="COLOR: #000000"><img id=Codehighlighter1_90_282_Open_Image onclick="this.style.display='none'; Codehighlighter1_90_282_Open_Text.style.display='none'; Codehighlighter1_90_282_Closed_Image.style.display='inline'; Codehighlighter1_90_282_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_90_282_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_90_282_Closed_Text.style.display='none'; Codehighlighter1_90_282_Open_Image.style.display='inline'; Codehighlighter1_90_282_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Timer&nbsp;</span><span id=Codehighlighter1_90_282_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_90_282_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">&nbsp;6</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;elapsed:&nbsp;Number;<br></span><span style="COLOR: #008080">&nbsp;7</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;minutes:&nbsp;Number;<br></span><span style="COLOR: #008080">&nbsp;8</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;seconds:&nbsp;Number;<br></span><span style="COLOR: #008080">&nbsp;9</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;hours:&nbsp;Number;<br></span><span style="COLOR: #008080">10</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;running:&nbsp;Boolean;<br></span><span style="COLOR: #008080">11</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">12</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">13</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>attribute&nbsp;Timer.elapsed&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;bind<br></span><span style="COLOR: #008080">14</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;running&nbsp;then<br></span><span style="COLOR: #008080">15</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">..</span><span style="COLOR: #000000">60</span><span style="COLOR: #000000">]&nbsp;dur&nbsp;</span><span style="COLOR: #000000">60000</span><span style="COLOR: #000000">&nbsp;linear<br></span><span style="COLOR: #008080">16</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;running<br></span><span style="COLOR: #008080">17</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">continue</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">18</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">19</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">20</span><span style="COLOR: #000000"><img id=Codehighlighter1_430_616_Open_Image onclick="this.style.display='none'; Codehighlighter1_430_616_Open_Text.style.display='none'; Codehighlighter1_430_616_Closed_Image.style.display='inline'; Codehighlighter1_430_616_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_430_616_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_430_616_Closed_Text.style.display='none'; Codehighlighter1_430_616_Open_Image.style.display='inline'; Codehighlighter1_430_616_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>trigger&nbsp;on&nbsp;Timer.elapsed&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;value&nbsp;</span><span id=Codehighlighter1_430_616_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_430_616_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">21</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;now&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Date();<br></span><span style="COLOR: #008080">22</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;minutes&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;now.getMinutes();<br></span><span style="COLOR: #008080">23</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;seconds&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;now.getSeconds()&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">24</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;[.</span><span style="COLOR: #000000">35</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">0.34</span><span style="COLOR: #000000">&nbsp;..&nbsp;</span><span style="COLOR: #000000">0.0</span><span style="COLOR: #000000">]&nbsp;dur&nbsp;</span><span style="COLOR: #000000">350</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">25</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;(now.getTime()&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">)</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">1000</span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">26</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;hours&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;now.getHours();<br></span><span style="COLOR: #008080">27</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">28</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">29</span><span style="COLOR: #000000"><img id=Codehighlighter1_660_701_Open_Image onclick="this.style.display='none'; Codehighlighter1_660_701_Open_Text.style.display='none'; Codehighlighter1_660_701_Closed_Image.style.display='inline'; Codehighlighter1_660_701_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_660_701_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_660_701_Closed_Text.style.display='none'; Codehighlighter1_660_701_Open_Image.style.display='inline'; Codehighlighter1_660_701_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Clock&nbsp;</span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000">&nbsp;CompositeNode&nbsp;</span><span id=Codehighlighter1_660_701_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_660_701_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">30</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;attribute&nbsp;ticking:&nbsp;Boolean;<br></span><span style="COLOR: #008080">31</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">32</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">33</span><span style="COLOR: #000000"><img id=Codehighlighter1_734_2150_Open_Image onclick="this.style.display='none'; Codehighlighter1_734_2150_Open_Text.style.display='none'; Codehighlighter1_734_2150_Closed_Image.style.display='inline'; Codehighlighter1_734_2150_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_734_2150_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_734_2150_Closed_Text.style.display='none'; Codehighlighter1_734_2150_Open_Image.style.display='inline'; Codehighlighter1_734_2150_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>operation&nbsp;Clock.composeNode()&nbsp;</span><span id=Codehighlighter1_734_2150_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_734_2150_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">34</span><span style="COLOR: #000000"><img id=Codehighlighter1_754_776_Open_Image onclick="this.style.display='none'; Codehighlighter1_754_776_Open_Text.style.display='none'; Codehighlighter1_754_776_Closed_Image.style.display='inline'; Codehighlighter1_754_776_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_754_776_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_754_776_Closed_Text.style.display='none'; Codehighlighter1_754_776_Open_Image.style.display='inline'; Codehighlighter1_754_776_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;t&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;Timer&nbsp;</span><span id=Codehighlighter1_754_776_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_754_776_Open_Text><span style="COLOR: #000000">{running:&nbsp;bind&nbsp;ticking}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">35</span><span style="COLOR: #000000"><img id=Codehighlighter1_796_2147_Open_Image onclick="this.style.display='none'; Codehighlighter1_796_2147_Open_Text.style.display='none'; Codehighlighter1_796_2147_Closed_Image.style.display='inline'; Codehighlighter1_796_2147_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_796_2147_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_796_2147_Closed_Text.style.display='none'; Codehighlighter1_796_2147_Open_Image.style.display='inline'; Codehighlighter1_796_2147_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;Group&nbsp;</span><span id=Codehighlighter1_796_2147_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_796_2147_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">36</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;[translate(</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">),scale(</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)]<br></span><span style="COLOR: #008080">37</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;secs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;bind&nbsp;t.seconds<br></span><span style="COLOR: #008080">38</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;mins&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;bind&nbsp;t.minutes&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;secs</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">60</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">39</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;hrs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;bind&nbsp;t.hours&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;mins</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">60</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">40</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content:<br></span><span style="COLOR: #008080">41</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[<br></span><span style="COLOR: #008080">42</span><span style="COLOR: #000000"><img id=Codehighlighter1_1004_1085_Open_Image onclick="this.style.display='none'; Codehighlighter1_1004_1085_Open_Text.style.display='none'; Codehighlighter1_1004_1085_Closed_Image.style.display='inline'; Codehighlighter1_1004_1085_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1004_1085_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1004_1085_Closed_Text.style.display='none'; Codehighlighter1_1004_1085_Open_Image.style.display='inline'; Codehighlighter1_1004_1085_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Rect&nbsp;</span><span id=Codehighlighter1_1004_1085_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1004_1085_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">43</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height:&nbsp;</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">44</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;</span><span style="COLOR: #000000">200</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">45</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fill:&nbsp;white<br></span><span style="COLOR: #008080">46</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">47</span><span style="COLOR: #000000"><img id=Codehighlighter1_1106_1235_Open_Image onclick="this.style.display='none'; Codehighlighter1_1106_1235_Open_Text.style.display='none'; Codehighlighter1_1106_1235_Closed_Image.style.display='inline'; Codehighlighter1_1106_1235_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1106_1235_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1106_1235_Closed_Text.style.display='none'; Codehighlighter1_1106_1235_Open_Image.style.display='inline'; Codehighlighter1_1106_1235_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageView&nbsp;</span><span id=Codehighlighter1_1106_1235_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1106_1235_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">48</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;[]<br></span><span style="COLOR: #008080">49</span><span style="COLOR: #000000"><img id=Codehighlighter1_1159_1225_Open_Image onclick="this.style.display='none'; Codehighlighter1_1159_1225_Open_Text.style.display='none'; Codehighlighter1_1159_1225_Closed_Image.style.display='inline'; Codehighlighter1_1159_1225_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1159_1225_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1159_1225_Closed_Text.style.display='none'; Codehighlighter1_1159_1225_Open_Image.style.display='inline'; Codehighlighter1_1159_1225_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;Image&nbsp;</span><span id=Codehighlighter1_1159_1225_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1159_1225_Open_Text><span style="COLOR: #000000">{url:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://sellmic.com/lab/dev/jfx/clock/images/clock_face.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">50</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">51</span><span style="COLOR: #000000"><img id=Codehighlighter1_1252_1997_Open_Image onclick="this.style.display='none'; Codehighlighter1_1252_1997_Open_Text.style.display='none'; Codehighlighter1_1252_1997_Closed_Image.style.display='inline'; Codehighlighter1_1252_1997_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1252_1997_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1252_1997_Closed_Text.style.display='none'; Codehighlighter1_1252_1997_Open_Image.style.display='inline'; Codehighlighter1_1252_1997_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Group&nbsp;</span><span id=Codehighlighter1_1252_1997_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1252_1997_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">52</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;hourHand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">53</span><span style="COLOR: #000000"><img id=Codehighlighter1_1303_1468_Open_Image onclick="this.style.display='none'; Codehighlighter1_1303_1468_Open_Text.style.display='none'; Codehighlighter1_1303_1468_Closed_Image.style.display='inline'; Codehighlighter1_1303_1468_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1303_1468_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1303_1468_Closed_Text.style.display='none'; Codehighlighter1_1303_1468_Open_Image.style.display='inline'; Codehighlighter1_1303_1468_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageView&nbsp;</span><span id=Codehighlighter1_1303_1468_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1303_1468_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">54</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;bind&nbsp;rotate(hrs</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">245</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">55</span><span style="COLOR: #000000"><img id=Codehighlighter1_1389_1454_Open_Image onclick="this.style.display='none'; Codehighlighter1_1389_1454_Open_Text.style.display='none'; Codehighlighter1_1389_1454_Closed_Image.style.display='inline'; Codehighlighter1_1389_1454_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1389_1454_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1389_1454_Closed_Text.style.display='none'; Codehighlighter1_1389_1454_Open_Image.style.display='inline'; Codehighlighter1_1389_1454_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;Image&nbsp;</span><span id=Codehighlighter1_1389_1454_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1389_1454_Open_Text><span style="COLOR: #000000">{url:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://sellmic.com/lab/dev/jfx/clock/images/hour_hand.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">56</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">57</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">58</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;minuteHand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">59</span><span style="COLOR: #000000"><img id=Codehighlighter1_1522_1690_Open_Image onclick="this.style.display='none'; Codehighlighter1_1522_1690_Open_Text.style.display='none'; Codehighlighter1_1522_1690_Closed_Image.style.display='inline'; Codehighlighter1_1522_1690_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1522_1690_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1522_1690_Closed_Text.style.display='none'; Codehighlighter1_1522_1690_Open_Image.style.display='inline'; Codehighlighter1_1522_1690_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageView&nbsp;</span><span id=Codehighlighter1_1522_1690_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1522_1690_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">60</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;bind&nbsp;rotate(mins&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">245</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">61</span><span style="COLOR: #000000"><img id=Codehighlighter1_1609_1676_Open_Image onclick="this.style.display='none'; Codehighlighter1_1609_1676_Open_Text.style.display='none'; Codehighlighter1_1609_1676_Closed_Image.style.display='inline'; Codehighlighter1_1609_1676_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1609_1676_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1609_1676_Closed_Text.style.display='none'; Codehighlighter1_1609_1676_Open_Image.style.display='inline'; Codehighlighter1_1609_1676_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;Image&nbsp;</span><span id=Codehighlighter1_1609_1676_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1609_1676_Open_Text><span style="COLOR: #000000">{url:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://sellmic.com/lab/dev/jfx/clock/images/minute_hand.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">62</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">63</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span><span style="COLOR: #008080">64</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;secondHand&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">65</span><span style="COLOR: #000000"><img id=Codehighlighter1_1756_1930_Open_Image onclick="this.style.display='none'; Codehighlighter1_1756_1930_Open_Text.style.display='none'; Codehighlighter1_1756_1930_Closed_Image.style.display='inline'; Codehighlighter1_1756_1930_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1756_1930_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1756_1930_Closed_Text.style.display='none'; Codehighlighter1_1756_1930_Open_Image.style.display='inline'; Codehighlighter1_1756_1930_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageView&nbsp;</span><span id=Codehighlighter1_1756_1930_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1756_1930_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">66</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;bind&nbsp;rotate(t.seconds&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">6</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">255</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">245</span><span style="COLOR: #000000">)<br></span><span style="COLOR: #008080">67</span><span style="COLOR: #000000"><img id=Codehighlighter1_1849_1916_Open_Image onclick="this.style.display='none'; Codehighlighter1_1849_1916_Open_Text.style.display='none'; Codehighlighter1_1849_1916_Closed_Image.style.display='inline'; Codehighlighter1_1849_1916_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_1849_1916_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1849_1916_Closed_Text.style.display='none'; Codehighlighter1_1849_1916_Open_Image.style.display='inline'; Codehighlighter1_1849_1916_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;Image&nbsp;</span><span id=Codehighlighter1_1849_1916_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_1849_1916_Open_Text><span style="COLOR: #000000">{url:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://sellmic.com/lab/dev/jfx/clock/images/second_hand.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">68</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">69</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top><br></span><span style="COLOR: #008080">70</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content:&nbsp;[hourHand,&nbsp;minuteHand,&nbsp;secondHand]<br></span><span style="COLOR: #008080">71</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">,<br></span><span style="COLOR: #008080">72</span><span style="COLOR: #000000"><img id=Codehighlighter1_2018_2140_Open_Image onclick="this.style.display='none'; Codehighlighter1_2018_2140_Open_Text.style.display='none'; Codehighlighter1_2018_2140_Closed_Image.style.display='inline'; Codehighlighter1_2018_2140_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2018_2140_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2018_2140_Closed_Text.style.display='none'; Codehighlighter1_2018_2140_Open_Image.style.display='inline'; Codehighlighter1_2018_2140_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ImageView&nbsp;</span><span id=Codehighlighter1_2018_2140_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2018_2140_Open_Text><span style="COLOR: #000000">{<br></span><span style="COLOR: #008080">73</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;transform:&nbsp;[]<br></span><span style="COLOR: #008080">74</span><span style="COLOR: #000000"><img id=Codehighlighter1_2071_2130_Open_Image onclick="this.style.display='none'; Codehighlighter1_2071_2130_Open_Text.style.display='none'; Codehighlighter1_2071_2130_Closed_Image.style.display='inline'; Codehighlighter1_2071_2130_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_2071_2130_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2071_2130_Closed_Text.style.display='none'; Codehighlighter1_2071_2130_Open_Image.style.display='inline'; Codehighlighter1_2071_2130_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;Image&nbsp;</span><span id=Codehighlighter1_2071_2130_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2071_2130_Open_Text><span style="COLOR: #000000">{url:&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">http://sellmic.com/lab/dev/jfx/clock/images/pin.png</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">75</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">]<br></span><span style="COLOR: #008080">76</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">;<br></span><span style="COLOR: #008080">77</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">78</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">79</span><span style="COLOR: #000000"><img id=Codehighlighter1_2159_2173_Open_Image onclick="this.style.display='none'; Codehighlighter1_2159_2173_Open_Text.style.display='none'; Codehighlighter1_2159_2173_Closed_Image.style.display='inline'; Codehighlighter1_2159_2173_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_2159_2173_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_2159_2173_Closed_Text.style.display='none'; Codehighlighter1_2159_2173_Open_Image.style.display='inline'; Codehighlighter1_2159_2173_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top>Clock&nbsp;</span><span id=Codehighlighter1_2159_2173_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_2159_2173_Open_Text><span style="COLOR: #000000">{ticking:&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000">&nbsp;<br></span><span style="COLOR: #008080">80</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br></span><span style="COLOR: #008080">81</span><span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<img src ="http://www.blogjava.net/aplomb/aggbug/118989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-21 21:39 <a href="http://www.blogjava.net/aplomb/archive/2007/05/21/118989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>eclipse集成javaFX</title><link>http://www.blogjava.net/aplomb/archive/2007/05/21/118983.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 21 May 2007 13:05:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/21/118983.html</guid><description><![CDATA[<br>According to the help page, it requires Java 5 to run, as well as Eclipse 3.2.2. <br><br>Sun 刚刚发布了 JavaFX,被看出是 Flex 和 Silverligh的竞争敌手，虽然文档暗示它需要NetBeans才能运行，但是这里有个以<a href="https://openjfx.dev.java.net/javafx-eclipse-plugin-install.html" target=_blank>ECLIPSE插件</a>，你也可以在线进行升级，升级地址：<a href="http://download.java.net/general/openjfx/plugins/eclipse/site.xml" target=_blank><u><font color=#0000ff>http://download.java.net/general/openjfx/plugins/eclipse/site.xml</font></u></a> </a><br>
<img src ="http://www.blogjava.net/aplomb/aggbug/118983.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-21 21:05 <a href="http://www.blogjava.net/aplomb/archive/2007/05/21/118983.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>消费者 JRE：Java se 6 更新发布</title><link>http://www.blogjava.net/aplomb/archive/2007/05/21/118979.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 21 May 2007 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/21/118979.html</guid><description><![CDATA[chet Haase 在他的博客中写道：所谓的消费者JRE将会为java提供更好的性能和更强的功能，并主要介绍下面六点看点：<br>QuickStarter：&nbsp;&nbsp;显著减少java应用程序和applet的启动时间<br>Java Kernel：减少JRE安装和启动的时间<br>Development Toolkit：JRE的安装和检测更简单<br>Installer improvement：改善用户安装的体验<br>Windows Graphics Performance：图形化加速，包括简单图和2D图<br>Nimbus look &amp;feel：提供一个全新的跨平台的视觉和体验<br><br>我看了下后面的评论非常多，褒贬不一，有兴趣的可以看原文：<a href="http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html">http://weblogs.java.net/blog/chet/archive/2007/05/consumer_jre_le.html</a><br>
<img src ="http://www.blogjava.net/aplomb/aggbug/118979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-21 20:34 <a href="http://www.blogjava.net/aplomb/archive/2007/05/21/118979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用jxpath 进行java对象查询</title><link>http://www.blogjava.net/aplomb/archive/2007/05/15/117544.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Tue, 15 May 2007 03:13:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/15/117544.html</guid><description><![CDATA[作者：Bart van Riel <br>原文出处：<a href="http://www.javaworld.com/javaworld/jw-03-2007/jw-03-jxpath.html?page=1">http://www.javaworld.com/javaworld/jw-03-2007/jw-03-jxpath.html?page=1</a><br><br><strong>摘要</strong>：在最近的一个项目里，我需要遍历一个java对象树并从对象中获取值，为了避免使用重复的if else 语句，我需要一个工具使得我的工作可以更轻松，&#8220;我需要一个id为X的对象，并且要获取这个对象的A属性&#8221;，实际上，我需要一个对象查询工具！<br><br>JXPath 就是这样一个对象查询工具，它是一个apache common 组件，利用它，你可以使用著名的<a href="http://www.javaworld.com/javaworld/jw-03-2007/jw-03-jxpath.html?page=1#resources" target=_blank>xpath </a>规则语言来查询复杂的java 对象树。<br>我在我的项目中大量使用了JXPath，它对于开发速度的提升是相当可观的，同时也使得值抽取算法相当的轻快。<br><br>尽管如此，关于JXPath 的文档并不多。由于我正在进行深度开发这个组件，所以我决定在我的一个JXPath 全面指南里写下我的研究成果，你可以在我的<a href="http://www.javaworld.com/javaworld/jw-03-2007/jw-03-jxpath.html?page=1#resources" target=_blank>网站</a>上找到它，这篇文章是那篇指南的缩写版，能够使得你迅速开始JXPath 之旅。<br><br><strong>示例模型</strong><br><br>为了演示的目的，我们采取了一个相对简单的模型：一个公司有多个部门，一个部门有多个员工，下面是模型图：<br><br><a href="http://www.javaworld.com/javaworld/jw-03-2007/images/jw-03-jxpath.gif" target=_blank alt=""><img height=60 alt="Class model" src="http://www.javaworld.com/javaworld/jw-03-2007/images/jw-03-jxpath-thumb.gif" width=350></a><br><br>很自然，我们需要一些模型数据：<br><br>公司：
<p>Acme Inc.<br></p>
<p>Sales 销售部：</p>
<p>Johnny, Sales rep, 45<br></p>
<p>Sarah, Sales rep, 33</p>
<p>Magda, Office assistant, 27</p>
<br>
<p>Accounting 会计部</p>
<p>Steve, Head controller, 51</p>
<p>Peter, Assistant controller, 31</p>
<p>Susan, Office assistant, 27<br></p>
<p><br><br><strong>执行简单的JXPath 查询<br></strong><br>最简单的查询就是从对象树中查找一个对象，例如，要查找公司，用下面的代码：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">JXPathContext&nbsp;context&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;JXPathContext.newContext(company);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>Company&nbsp;c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Company)context.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>第一行展示了context （上下文）的创建，也就是对象树中所有JXPath的xpath 规则的起始点（相当于XML文档的根节点元素）。<br>第二行执行了实际的查询，因为这里的上下文是以公司开始的，所以要获取公司对象，只需要使用当前元素选择器&#8220;.&#8221;。<br><br><strong>使用谓词和变量<br></strong><br>一个员工是部门的子对象，获取员工名为johnny 的代码如下：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Employee)context.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList/employees[name='Johnny']</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>这段代码可以这样理解：遍历所有的部门寻找姓名为johnny的员工<br><br>上面的代码段解释了如何使用谓词进行对象的搜索，使用谓词相当于SQL语句中的where字句，我们可以绑定多条谓词：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;(Employee)context.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList/employees[name='Susan'&nbsp;and&nbsp;age=27]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>如果你不是只进行一次查询的话，像上面这样的硬编码一般都不可取，更好的方法是定义一个可重用的查询，那么你就可以在多条语句中进行重用，为适应参数化的查询JXPath&nbsp;支持变量查询，代码如下：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;context.getVariables().declareVariable(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Susan</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>context.getVariables().declareVariable(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">age</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Integer(</span><span style="COLOR: #000000">27</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;(Employee)context.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList/employees[name=$name&nbsp;and&nbsp;age=$age]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br><strong>对于集合元素的迭代<br></strong><br><br>JXPath&nbsp;提供了一个迭代器，可以对查询的结果进行迭代，下面的代码：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_73_127_Open_Image onclick="this.style.display='none'; Codehighlighter1_73_127_Open_Text.style.display='none'; Codehighlighter1_73_127_Closed_Image.style.display='inline'; Codehighlighter1_73_127_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_73_127_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_73_127_Closed_Text.style.display='none'; Codehighlighter1_73_127_Open_Image.style.display='inline'; Codehighlighter1_73_127_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(Iterator&nbsp;iter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.iterate(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;iter.hasNext();)</span><span id=Codehighlighter1_73_127_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_73_127_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;Department&nbsp;d&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Department)iter.next();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>迭代所有员工的代码如下：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_83_135_Open_Image onclick="this.style.display='none'; Codehighlighter1_83_135_Open_Text.style.display='none'; Codehighlighter1_83_135_Closed_Image.style.display='inline'; Codehighlighter1_83_135_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_83_135_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_83_135_Closed_Text.style.display='none'; Codehighlighter1_83_135_Open_Image.style.display='inline'; Codehighlighter1_83_135_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(Iterator&nbsp;iter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.iterate(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList/employees</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;iter.hasNext();)</span><span id=Codehighlighter1_83_135_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_83_135_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Employee)iter.next();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>下面是一个结合变量绑定和迭代的例子：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;context.getVariables().declareVariable(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">deptName</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Sales</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>context.getVariables().declareVariable(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">minAge</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Integer(</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(Iterator&nbsp;iter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.iterate(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[name</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">$deptName]</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">employees[age</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">$minAge]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;iter.hasNext();){</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Employee)iter.next();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br><strong>指针 Pointers</strong><br><br>指针是JXPath的一个工具类，用来代表对象树中的一个对象的引用，比如，一个指针可能代表了第二个部门的第一个员工，相比于直接从对象树中查找对象的对象，指针提供了一些额外的功能，比如在相关上下文下的相关查询，下面有具体的例子：<br><br><strong>使用指针<br></strong><br>使用指针指向一个对象和从对象树中获取一个对象是相等的：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;JXPathContext&nbsp;context&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;JXPathContext.newContext(company);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>Pointer&nbsp;empPtr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.getPointer(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList[name='Sales']/employees[age&gt;40]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>System.out.println(empPtr);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">output:&nbsp;/departmentList[1]/employees[1]</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>System.out.println(((Employee)empPtr.getValue()).getName());<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">output:&nbsp;Johnny<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>可以看出，一个指针只是代表了一个对象的位置，而不是对象本身，同时也可以看出，可以通过指针的getValue方法获取指针代表的对象。<br><br>相关上下文下的相关查询<br>由于指针是代表对象的位置，所以可以被用来作为整个对象树来导航的一个引用，为了做到这点，我们可以把指针指向根对象（就好像上面例子中的公司对象），也就是所谓的相关上下文，在相关上下文，你可以通过相关查询进行整个对象树的查询，指针的这个高级使用提供了极大的弹性，下面我们例子说明：<br><br>开始，我们来创建一个相关上下文：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(Iterator&nbsp;iter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.iteratePointers(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/departmentList[name='Sales']</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">employees[age</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">30</span><span style="COLOR: #000000">]</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;iter.hasNext();){</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;Pointer&nbsp;empPtr&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Pointer)iter.next();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;JXPathContext&nbsp;relativeContext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;context.getRelativeContext(empPtr);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>}<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>&nbsp;使用相关上下文，XPath 查询能够在对象树的子节点，父节点，超父节点等进行执行，具体看下面的例子：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Current&nbsp;employee</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">Employee&nbsp;emp&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Employee)relativeContext.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Employee&nbsp;name</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">String&nbsp;name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(String)relativeContext.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">./name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Name&nbsp;of&nbsp;the&nbsp;Department&nbsp;this&nbsp;Employee&nbsp;belongs&nbsp;to&nbsp;(a&nbsp;parent&nbsp;object)</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">String&nbsp;deptName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(String)relativeContext.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">../name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Name&nbsp;of&nbsp;the&nbsp;Company&nbsp;this&nbsp;Employee&nbsp;belongs&nbsp;to&nbsp;(a&nbsp;'grandparent'&nbsp;object)</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">String&nbsp;compName&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(String)relativeContext.getValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">../../name</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">All&nbsp;coworkers&nbsp;of&nbsp;this&nbsp;Employee&nbsp;(sibling&nbsp;objects)</span><span style="COLOR: #008000"><br><img id=Codehighlighter1_557_618_Open_Image onclick="this.style.display='none'; Codehighlighter1_557_618_Open_Text.style.display='none'; Codehighlighter1_557_618_Closed_Image.style.display='inline'; Codehighlighter1_557_618_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_557_618_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_557_618_Closed_Text.style.display='none'; Codehighlighter1_557_618_Open_Image.style.display='inline'; Codehighlighter1_557_618_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(Iterator&nbsp;empIter&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;relativeContext.iterate(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">../employees</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">);&nbsp;empIter.hasNext();)</span><span id=Codehighlighter1_557_618_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_557_618_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;Employee&nbsp;colleague&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(Employee)empIter.next();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000"><img src="http://www.blogjava.net/Images/dot.gif"></span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #000000">}</span></span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<br><br><strong>总结</strong><br><br>JXPath 在遍历，导航，和查询复杂的对象树时是非常有用的工具，由于它使用 xpath 语言 进行查询，因此有大量的资料可以帮助构建高效的复杂对象树查询，指针和相关上下文的加入使得查询更加方便。<br><br><br><strong>相关资源</strong>：<br>1，下载本文的源代码 <a href="http://www.javaworld.com/javaworld/jw-03-2007/jxpath/jw-03-jxpath.zip">http://www.javaworld.com/javaworld/jw-03-2007/jxpath/jw-03-jxpath.zip</a><br>2，查看全面指南 <a href="http://www.tutorials.tfo-eservices.eu/">http://www.tutorials.tfo-eservices.eu/</a><br>3，XPATH 指南 <a href="http://www.w3schools.com/xpath">http://www.w3schools.com/xpath</a> <br><br><span style="FONT-SIZE: 18pt; COLOR: red">不要忘了，广告也精彩哦</span><br>
<hr>
<script type="text/javascript"><!--
google_ad_client = "pub-6282981512077428";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script><script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<img src ="http://www.blogjava.net/aplomb/aggbug/117544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-15 11:13 <a href="http://www.blogjava.net/aplomb/archive/2007/05/15/117544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 会议视频回顾 五月十一号 Sun 惯例会议（James Gosling 主讲）</title><link>http://www.blogjava.net/aplomb/archive/2007/05/14/117438.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 14 May 2007 13:31:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/14/117438.html</guid><description><![CDATA[<strong>Sun General Session</strong><br><br>主题：玩具show <strong>The Toy Show</strong> <br>简介：James Gosling 将为我们展示几个激动人心的java 实现的 酷玩具，包括潜水艇，机器人，直升机等。<br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Toy Show part 1 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?
skin=oneclip&fr_story=FEEDROOM192569&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Toy Show part 2 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194211&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Toy Show part 3 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194212&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Toy Show part 4 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194213&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Toy Show part 5 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194214&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<img src ="http://www.blogjava.net/aplomb/aggbug/117438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-14 21:31 <a href="http://www.blogjava.net/aplomb/archive/2007/05/14/117438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 会议视频回顾 五月十号 摩托罗拉白金会议</title><link>http://www.blogjava.net/aplomb/archive/2007/05/14/117435.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 14 May 2007 13:23:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/14/117435.html</guid><description><![CDATA[<strong>Motorola, Platinum General Session</strong><br><br>主题：战胜下一代用户体验的复杂性<br><br>简介：摩托罗拉的这次会议主要讲解了如何将网络，移动设备以及服务无缝集成到一起给用户提供至高的体验<br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Mobility Introduction </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM192568&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Mobility Introduction </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193983&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Mobility Introduction </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193984&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Mobility Introduction </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193985&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<img src ="http://www.blogjava.net/aplomb/aggbug/117435.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-14 21:23 <a href="http://www.blogjava.net/aplomb/archive/2007/05/14/117435.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 会议视频回顾 五月九号 </title><link>http://www.blogjava.net/aplomb/archive/2007/05/14/117431.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 14 May 2007 13:15:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/14/117431.html</guid><description><![CDATA[<strong>Oracle, Platinum General Session<br><br></strong>主题：走向极限-新时代的软件架构<br><br>简介：随着企业java应用程序的开发和复杂性达到了一个新的水准，对于高性能的数据访问和可靠的事务处理的需求将会持续增长，同时，随着SOA,EDA以及web2.0等技术的快速采用更加驱使了新一代应用程序架构的产生。这次会议展示了oracle 对于技术，工具和标准等内容的观点，这些内容将允许开发人员在一个要求极限事务容量和实时架构成为必需的情况下构建敏捷的应用程序和业务流程。<br><br>注：最后一句话不好翻译，欢迎大家给出更好的翻译，原文如下<img src="http://www.blogjava.net/CuteSoft_Client/CuteEditor/images/emsmileo.gif" align=absMiddle border=0><br>This session presents Oracle's vision on the technologies, tools and standards that will allow developers to build agile applications and business processes for a world in which extreme transaction volumes and real time infrastructures are becoming the norm. <br><br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Thomas Kurian of OracleIntro </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM192566&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Oracle Demos continued </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193729&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br><br><br><strong>Intel, Platinum General Session<br><br></strong>主题：intel 是 java 技术的支柱<br><br>简介：在过去的10年多时间里，因特尔作为java的硬件提供者和软件合作者给予了java强大的动力。因特尔的贡献以及这些来自主要的的企业竞争者极大的加强了java 技术的功能和性能，这个趋势在未来将会不断得到加强。来听下intel的关于企业java的观点并了解它的软件生态系统的参与是如何将java技术推向一个新高点。 <br><br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intel and JavaTechnology </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM192567&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intel and BEA </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193871&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intel and Sun </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193872&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br><br>
<img src ="http://www.blogjava.net/aplomb/aggbug/117431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-14 21:15 <a href="http://www.blogjava.net/aplomb/archive/2007/05/14/117431.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 会议视频回顾 五月八号 Java ME 惯例会议</title><link>http://www.blogjava.net/aplomb/archive/2007/05/14/117427.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 14 May 2007 12:46:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/14/117427.html</guid><description><![CDATA[接下来 是 SUN 的 Java ME 惯例会议<br><br>这次会议讨论的是Java ME的发展以及最新的趋势，它将突出在市场上的几种高端移动数据服务并展示开发人员如何才能有效的利用java ME平台去开发更具吸引力的移动，电视以及嵌入式服务。这是想要进入或者即将进入或者已经身在移动行业的人不容错过的演讲。<br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Mobility Introduction </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194033&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Announcements &amp; Demos 1 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194034&rf=ev&hl=true&w=322&h=278"></script></fieldset><br><br>&nbsp;
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Announcements&amp; Demos 2 </legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194035&rf=ev&hl=true&w=322&h=278"></script></fieldset><br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>JavaFX Mobile</legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM194036&rf=ev&hl=true&w=322&h=278"></script></fieldset> 
<img src ="http://www.blogjava.net/aplomb/aggbug/117427.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-14 20:46 <a href="http://www.blogjava.net/aplomb/archive/2007/05/14/117427.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaOne 会议视频回顾 五月八号 Sun Technical Session</title><link>http://www.blogjava.net/aplomb/archive/2007/05/14/117424.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Mon, 14 May 2007 12:34:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/14/117424.html</guid><description><![CDATA[接下来 是 SUN 的 java 技术会议<br><br>主题：发展的java技术-未来平台的展望<br><br>java技术正在以一种令人兴奋的速度在发展，这次会议将重点在于j2se,java EE的发展和路线，包括openJDK，Java SE 7 的更新发布，GlassFish Java EE 5，应用服务器和一些引人注目的java客户端技术以及在现代的富客户端使用java平台等一些内容<br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intro Deep Dive</legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM192565&rf=ev&hl=true&w=322&h=278"></script></fieldset> <br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intro Deep Dive2</legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193626&rf=ev&hl=true&w=322&h=278"></script></fieldset><br><br>&nbsp;
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Deep Dive part 3</legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193627&rf=ev&hl=true&w=322&h=278"></script></fieldset><br><br>
<fieldset style="WIDTH: 457px; HEIGHT: 253px"><legend>Intro Deep Dive4</legend><script language="javascript" src="http://sunfeedroom.sun.com/linking/launch.jsp?skin=oneclip&fr_story=FEEDROOM193628&rf=ev&hl=true&w=322&h=278"></script></fieldset> 
<img src ="http://www.blogjava.net/aplomb/aggbug/117424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-14 20:34 <a href="http://www.blogjava.net/aplomb/archive/2007/05/14/117424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>UI 战争才刚刚开始</title><link>http://www.blogjava.net/aplomb/archive/2007/05/13/117166.html</link><dc:creator>快译站</dc:creator><author>快译站</author><pubDate>Sun, 13 May 2007 13:10:00 GMT</pubDate><guid>http://www.blogjava.net/aplomb/archive/2007/05/13/117166.html</guid><description><![CDATA[原文地址：<a href="http://www.oreillynet.com/onjava/blog/2007/05/the_ui_wars_just_started_yet_a.html">http://www.oreillynet.com/onjava/blog/2007/05/the_ui_wars_just_started_yet_a.html</a><br><br>翻译：aplomb<br><br>背景：SUN 在<a href="http://sun.com/javaone" target=_blank>javaOne </a>会议上宣布了 JavaFX，意想统治UI领域，遭到众多的怀疑。<br><br>随sun的<a href="http://www.sun.com/software/javafx/" target=_blank>JavaFX</a>的发布，微软则把力气放在<a href="http://www.microsoft.com/silverlight/" target=_blank>Silverlight</a>上，而adobe则使用<a href="http://www.adobe.com/cn/products/flex/" target=_blank>Flex/Apollo</a>&nbsp;来创建RIA（<font style="FONT-SIZE: 10pt; COLOR: red" color=#cc0033 size=2>Rich Internet Applications，富客户端程序，意即增强客户端的互动性和丰富性，译者注</font>），对于UI统治的战争才刚刚开始。<br>或者我该说战争又开始了，从 applets 到 *ServerPages（<span style="FONT-SIZE: 10pt; COLOR: red">所谓的服务器端页面，诸如JSP,ASP等，译者注</span>） 再到Ajax/RIA，我们可以看到过去10年，用户界面发生了重大的改革。<br>在过去的两年里，Ajax占据了主导地位，同时java也蒙受了最大的苛责，包括JSP的粗劣的交互性，JSF的复杂性以及Applets的低效。<br><br>实际上，已经有非常多的文章或者博客都在讨论，如何使得java更高效，如何将脚本语言带入到JVM等等，尽管如此，随着JavaFX的引入，带来了一个全新的方向和一系列问题：JavaFX是不是Ajax的一种更好的选择呢？还是对于已有的选择来说它仅仅是一种脚本语言？它能否使得桌面技术和WEB UI技术更加紧密？它能否满足下一代的UI需求-包括vedio，svg，voice 还有更多？它能否得到社区的迅速参与并得到大多数人的拥护呢？它将是SUN的新的一个成功的代表吗？<br><br>呵呵，让我们拭目以待。<br><br>关于RIA的解释：<a href="http://www.5d.cn/Tutorial/flash/base/200610/4741.html">http://www.5d.cn/Tutorial/flash/base/200610/4741.html</a>
<hr>
<script type="text/javascript"><!--
google_ad_client = "pub-6282981512077428";
google_alternate_color = "FFFFFF";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al";
google_ad_channel = "";
//-->

</script><script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<img src ="http://www.blogjava.net/aplomb/aggbug/117166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/aplomb/" target="_blank">快译站</a> 2007-05-13 21:10 <a href="http://www.blogjava.net/aplomb/archive/2007/05/13/117166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>