﻿<?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-键盘上的舞者</title><link>http://www.blogjava.net/chenweionline/</link><description>像写情书一样Coding...</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 16:52:39 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 16:52:39 GMT</pubDate><ttl>60</ttl><item><title>Node的属性改变后通知属性表单（Propertites Sheet）更新</title><link>http://www.blogjava.net/chenweionline/archive/2011/03/06/345838.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Sun, 06 Mar 2011 14:15:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2011/03/06/345838.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/345838.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2011/03/06/345838.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/345838.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/345838.html</trackback:ping><description><![CDATA[Node API提供了一个方法在Node属性集变化时通知注册在其上的监听器更新。<br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">final</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;firePropertySetsChange(Node.PropertySet[]&nbsp;o,&nbsp;Node.PropertySet[]&nbsp;n)</span></div>
<br />
如图，精灵动画就是一个自定义的Node，当使用鼠标将Node从A点拖拽到B点时，Node坐标已经改变，可以调用Node的<span style="color: #000000;">firePropertySetsChange()</span>方法通知属性表单（Propertites Sheet）更新显示。<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/chenweionline/Snapshot/673b34d149612692cf5cc.jpg" width="878" height="615" /><br />
<br />
因为<span style="color: #000000;">firePropertySetsChange()是个受保护（protected）的方法，如果需要在Node的外部调用，还可以包装在自定义的公共（public）方法里。</span><br />
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;"> notifySheetChange(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;firePropertySetsChange(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">,&nbsp;Sheet.createDefault().toArray());<br />
}</span></div>
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/345838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2011-03-06 22:15 <a href="http://www.blogjava.net/chenweionline/archive/2011/03/06/345838.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用TopComponent群组</title><link>http://www.blogjava.net/chenweionline/archive/2010/08/07/328216.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Sat, 07 Aug 2010 14:46:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/08/07/328216.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/328216.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/08/07/328216.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/328216.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/328216.html</trackback:ping><description><![CDATA[<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 12" />
<meta name="Originator" content="Microsoft Word 12" />
<link rel="File-List" href="file:///C:%5CUsers%5CLeon%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" />
<link rel="themeData" href="file:///C:%5CUsers%5CLeon%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" />
<link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CLeon%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" /><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-CN</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math" />
<m:brkBin m:val="before" />
<m:brkBinSub m:val="--" />
<m:smallFrac m:val="off" />
<m:dispDef/>
<m:lMargin m:val="0" />
<m:rMargin m:val="0" />
<m:defJc m:val="centerGroup" />
<m:wrapIndent m:val="1440" />
<m:intLim m:val="subSup" />
<m:naryLim m:val="undOvr" />
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267">
<w:LsdException locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal" />
<w:LsdException locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 2" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 3" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 4" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 5" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 6" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 7" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 8" />
<w:LsdException locked="false" priority="9" qformat="true" name="heading 9" />
<w:LsdException locked="false" priority="39" name="toc 1" />
<w:LsdException locked="false" priority="39" name="toc 2" />
<w:LsdException locked="false" priority="39" name="toc 3" />
<w:LsdException locked="false" priority="39" name="toc 4" />
<w:LsdException locked="false" priority="39" name="toc 5" />
<w:LsdException locked="false" priority="39" name="toc 6" />
<w:LsdException locked="false" priority="39" name="toc 7" />
<w:LsdException locked="false" priority="39" name="toc 8" />
<w:LsdException locked="false" priority="39" name="toc 9" />
<w:LsdException locked="false" priority="35" qformat="true" name="caption" />
<w:LsdException locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title" />
<w:LsdException locked="false" priority="1" name="Default Paragraph Font" />
<w:LsdException locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle" />
<w:LsdException locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong" />
<w:LsdException locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis" />
<w:LsdException locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid" />
<w:LsdException locked="false" unhidewhenused="false" name="Placeholder Text" />
<w:LsdException locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1" />
<w:LsdException locked="false" unhidewhenused="false" name="Revision" />
<w:LsdException locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph" />
<w:LsdException locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote" />
<w:LsdException locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5" />
<w:LsdException locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6" />
<w:LsdException locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6" />
<w:LsdException locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6" />
<w:LsdException locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6" />
<w:LsdException locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6" />
<w:LsdException locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6" />
<w:LsdException locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6" />
<w:LsdException locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6" />
<w:LsdException locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6" />
<w:LsdException locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6" />
<w:LsdException locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6" />
<w:LsdException locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6" />
<w:LsdException locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6" />
<w:LsdException locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6" />
<w:LsdException locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis" />
<w:LsdException locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis" />
<w:LsdException locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference" />
<w:LsdException locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference" />
<w:LsdException locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title" />
<w:LsdException locked="false" priority="37" name="Bibliography" />
<w:LsdException locked="false" priority="39" qformat="true" name="TOC Heading" />
</w:LatentStyles>
</xml><![endif]--><style>
<!-- /* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:SimSun;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;
mso-font-charset:0;
mso-generic-font-family:roman;
mso-font-pitch:variable;
mso-font-signature:-1610611985 1107304683 0 0 415 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:swiss;
mso-font-pitch:variable;
mso-font-signature:-520092929 1073786111 9 0 415 0;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 680460288 22 0 262145 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
mso-style-unhide:no;
mso-style-qformat:yes;
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
text-indent:21.0pt;
mso-char-indent-count:2.0;
mso-pagination:none;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:宋体;
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
mso-header-margin:36.0pt;
mso-footer-margin:36.0pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:186913398;
mso-list-type:hybrid;
mso-list-template-ids:560772892 -411303738 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-text:%1、;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:18.0pt;
text-indent:-18.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.5pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;
mso-font-kerning:1.0pt;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">群组的作用是在打开一个</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">组件的同时，打开其他相关的</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">组件。例如，当打开或者激活</span><span lang="EN-US">GUI</span><span style="font-family: 宋体;">编辑器的时候，&#8220;组件面板&#8221;、&#8220;属性&#8221;窗口和&#8220;检查器&#8221;窗口都会出现。当需要一个组件同时伴随着很多其他类似于组件面板窗口的时候，利用</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">群组可以轻松实现一个组件的激活引发其他组件被打开或者被选中。</span><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US"><br />
<br />
</span></strong><span style="font-family: 宋体;">定义群组涉及到</span><span lang="EN-US">2</span><span style="font-family: 宋体;">种</span><span lang="EN-US">XML</span><span style="font-family: 宋体;">文件。首先是</span><span lang="EN-US">wsgrp</span><span style="font-family: 宋体;">，它代表&#8220;窗口系统群组（</span><span lang="EN-US">Window System Group</span><span style="font-family: 宋体;">）&#8221;。它定义了&#8220;窗口系统&#8221;的群组，系统根据它的定义查找对应的目录，它也定义了群组是否应该在启动时打开。另一个文件是</span><span lang="EN-US">wstcgrp</span><span style="font-family: 宋体;">，它代表&#8220;窗口系统</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">群组（</span><span lang="EN-US">Window System TopComponent Group</span><span style="font-family: 宋体;">）&#8221;，这个文件通过</span><span lang="EN-US">ID</span><span style="font-family: 宋体;">识别单态的</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">组件，同时还定义了一些群组的打开和关闭属性。</span><span lang="EN-US"><o:p><br />
<br />
</o:p></span><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US">TopComponent</span></strong><strong><span style="font-family: 宋体;">群组编程实例</span></strong><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US"><o:p></o:p></span></strong><strong><span style="font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;;" lang="EN-US"><o:p><br />
</o:p></span></strong><br />
<span style="font-family: 宋体;">首先</span><span style="font-family: 宋体;">创建</span><span style="font-family: 宋体;">一个模块项目</span><span lang="EN-US">TopComponentGroup</span><span style="font-family: 宋体;">，</span><span style="font-family: 宋体;">然后</span><span style="font-family: 宋体;">新建</span><span lang="EN-US">2</span><span style="font-family: 宋体;">个窗口组件（</span><span lang="EN-US">TopComponent</span><span style="font-family: 宋体;">），命名为</span><span lang="EN-US">EditorTopComponent</span><span style="font-family: 宋体;">和</span><span lang="EN-US">SatelliteTopComponent</span><span style="font-family: 宋体;">，就像窗口的名字所表示的那样，</span><span lang="EN-US">SatelliteTopComponent</span><span style="font-family: 宋体;">将会随着</span><span lang="EN-US">EditorTopComponent</span><span style="font-family: 宋体;">的打开和关闭一同打开和关闭。</span><span lang="EN-US"><span><br />
<br />
</span></span><span style="font-family: 宋体;">首先新建一个名为</span><span lang="EN-US">EditorGroupWsgrp</span><span style="font-family: 宋体;">的</span><span lang="EN-US">xml</span><span style="font-family: 宋体;">文件</span><span lang="EN-US"><span>，这个文件里定义了名为EditorGroup的编辑器窗口群组。 <br />
</span></span>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">group&nbsp;</span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">="2.0"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">module&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="org.jqueen.nb.topcomponentgroup"</span><span style="color: #ff0000;">&nbsp;spec</span><span style="color: #0000ff;">="1.0"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">name&nbsp;</span><span style="color: #ff0000;">unique</span><span style="color: #0000ff;">="EditorGroup"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">state&nbsp;</span><span style="color: #ff0000;">opened</span><span style="color: #0000ff;">="false"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">group</span><span style="color: #0000ff;">&gt;</span></div>
<span lang="EN-US"><span><br />
</span></span><span lang="EN-US"><span>再新建一个名为SatelliteTopComponentWstcgrp的xml文件，在这个文件里可以通过ID识别出</span></span><span lang="EN-US">SatelliteTopComponent</span><span lang="EN-US"><span>组件</span></span><span style="font-family: 宋体;">。</span>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">tc-group&nbsp;</span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">="2.0"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">tc-id&nbsp;</span><span style="color: #ff0000;">id</span><span style="color: #0000ff;">="SatelliteTopComponent"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">open-close-behavior&nbsp;</span><span style="color: #ff0000;">open</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;close</span><span style="color: #0000ff;">="true"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">tc-group</span><span style="color: #0000ff;">&gt;</span></div>
<br />
<span style="font-family: 宋体;">编辑模块的</span><span lang="EN-US">layer.xml</span><span style="font-family: 宋体;">文件，在系统文件系统中的</span><span lang="EN-US">Windows2</span><span style="font-family: 宋体;">目录添加一个</span><span lang="EN-US">Group</span><span style="font-family: 宋体;">文件夹，将名为"EditorGroup"的群组添加进Group。<br />
</span>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">folder&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="Groups"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">file&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="EditorGroup.wsgrp"</span><span style="color: #ff0000;">&nbsp;url</span><span style="color: #0000ff;">="EditorGroupWsgrp.xml"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">folder&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="EditorGroup"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">file&nbsp;</span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="SatelliteTopComponent.wstcgrp"</span><span style="color: #ff0000;">&nbsp;url</span><span style="color: #0000ff;">="SatelliteTopComponentWstcgrp.xml"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">folder</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">folder</span><span style="color: #0000ff;">&gt;</span></div>
<br />
编辑<span lang="EN-US">EditorTopComponent</span><span style="font-family: 宋体;">内容，重写TopComponent类的componentOpened()和componentClosed()方法，在</span><span lang="EN-US">EditorTopComponent</span><span style="font-family: 宋体;">被打开和关闭时打开和关闭名为"EditorGroup"的群组。<br />
</span>
<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;componentOpened()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TopComponentGroup&nbsp;group&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;WindowManager.getDefault().findTopComponentGroup(</span><span style="color: #000000;">"</span><span style="color: #000000;">EditorGroup</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(group&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group.open();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">void</span><span style="color: #000000;">&nbsp;componentClosed()&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TopComponentGroup&nbsp;group&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;WindowManager.getDefault().findTopComponentGroup(</span><span style="color: #000000;">"</span><span style="color: #000000;">EditorGroup</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(group&nbsp;</span><span style="color: #000000;">!=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">null</span><span style="color: #000000;">)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;group.close();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></div>
<br />
<span style="font-family: 宋体;">至此，就完成了一个TopComponent群组的编辑。执行模块项目，当从窗口菜单中打开EditorTopComponent时</span><span lang="EN-US">SatelliteTopComponent</span><span lang="EN-US"><span>会自动打开，</span></span><span style="font-family: 宋体;">EditorTopComponent被关闭时</span><span lang="EN-US">SatelliteTopComponent</span><span lang="EN-US"><span>也会自动关闭。</span></span><br />
<br />
<a target="_blank" title="样例程序下载" href="https://kenai.com/projects/topcomponentgroup">样例程序下载</a><br />
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/328216.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-08-07 22:46 <a href="http://www.blogjava.net/chenweionline/archive/2010/08/07/328216.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX进行HTTP Basic认证</title><link>http://www.blogjava.net/chenweionline/archive/2010/04/25/319299.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Sat, 24 Apr 2010 18:49:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/04/25/319299.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/319299.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/04/25/319299.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/319299.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/319299.html</trackback:ping><description><![CDATA[最近用JavaFX写一个应用调用Internet上的开放API时需要进行<a>HTTP Basic</a>认证，JavaFX提供了一个类HttpRequest用于发送Web服务的请求，类HttpHeader顾名思义就是用来表示HTTP请求的"Header"了。HttpHeader提供了一个很方便的方法用来创建HTTP Basic认证需要的用户名和密码"Header":<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);">&nbsp;basicAuth(username:&nbsp;java.lang.String,&nbsp;password:&nbsp;java.lang.String)&nbsp;:&nbsp;HttpHeader <br />
</span></div>
下面就看一下如何使用JavaFX编写进行HTTP Basic认证的代码：<br />
<div style="background-color: rgb(238, 238, 238); font-size: 13px; border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;var&nbsp;user&nbsp;=&nbsp;"user";<br />
</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;var&nbsp;password&nbsp;=&nbsp;"password";</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">HttpRequest{<br />
&nbsp;&nbsp;&nbsp;&nbsp;location:&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;url</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp;headers:&nbsp;HttpHeader.basicAuth(user,&nbsp;password)<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">&nbsp;<img src="http://www.blogjava.net/Images/dot.gif" alt="" /><img src="http://www.blogjava.net/Images/dot.gif" alt="" /></span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 0);">}.start();</span></div>
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/319299.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-04-25 02:49 <a href="http://www.blogjava.net/chenweionline/archive/2010/04/25/319299.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>本公司的几个开发类职位的招聘（上海）</title><link>http://www.blogjava.net/chenweionline/archive/2010/04/15/318424.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Thu, 15 Apr 2010 07:24:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/04/15/318424.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/318424.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/04/15/318424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/318424.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/318424.html</trackback:ping><description><![CDATA[<span style="font-family: simsun; font-size: 14px; line-height: 23px; ">有兴趣的朋友可以先给我发简历，谢谢谢谢谢谢谢谢。<br />
<strong>chenweionline#hotmail.com</strong><br />
<br />
公司基本信息可以访问<br />
www.jaiziworld.com<br />
www.ccjoy.com<br />
<br />
51job上的发布链接<br />
http://search.51job.com/list/co,c,2088688,0000,10,1.html<br />
<br />
<strong>Java/JavaFX富客户端应用开发工程师</strong><br />
<br />
岗位职责：<br />
在Java平台上进行网络游戏相关客户端产品的研发。<br />
<br />
任职要求：<br />
1.Java SE基础扎实，了解常用设计模式并且能够在开发过程用适当的应用；<br />
2.熟悉AWT/Swing，Java 2D，JavaFX，NetBeans Platform编程技术；<br />
3.诚实守信，具有良好的团队合作精神，具有迎接挑战的信心和对工作的激情。<br />
<br />
优先条件：<br />
1.熟悉游戏相关业务或者有相关游戏、编辑器工具开发经验者;<br />
2.熟悉JavaScript,Flash/Flex,Silverlight等其他RIA开发技术；<br />
3.熟悉Java ME,Android,Windows Mobile,Symbian,iPhone等移动技术平台开发。<br />
<br />
<br />
<strong>Java服务器端开发工程师</strong><br />
<br />
岗位职责：<br />
1.具备良好的分析解决问题能力，能独立承担任务和有系统进度把控能力；<br />
2.负责网络游戏服务器端应用逻辑的编写，分布式系统的架构设计；<br />
3.编写相关的开发文档；<br />
4.与项目组美术与策划人员深入沟通，准确实现开发需求。<br />
<br />
任职要求：<br />
1.熟悉Java语言，熟练掌握J2EE相关技术；<br />
2.熟悉常用设计模式、数据结构、算法；<br />
3.熟练使用：eclipse、PowerDesigner、UML建模、Word、Excel等常用开发工具。<br />
<br />
优先条件：<br />
1.熟悉游戏相关业务或者有相关开发经验者。<br />
<br />
<br />
<strong>移动设备应用开发工程师</strong><br />
<br />
岗位职责：<br />
1.在主流的移动平台上开发互联网服务产品。<br />
<br />
任职要求：<br />
1.可以熟练使用JavaME，Android或iPhone平台编程技术进行开发。<br />
<br />
优先条件：<br />
1.2年以上移动平台应用开发经验；<br />
2.具有个人作品者优先。<br />
<br />
<br />
<strong>游戏算法研发工程师</strong><br />
<br />
岗位职责：<br />
1.从事网络游戏相关的技术研发和算法优化工作。<br />
<br />
任职要求：<br />
1.数学、人工智能或计算机专业硕士以上学历，数学基础扎实；<br />
2.熟悉图像处理、模式识别、计算机视觉等方面的知识；<br />
3.熟练掌握数值计算相关理论和方法，对算法的并行处理和优化有经验的优先；<br />
4.能够编写技术文档。<br />
<br />
优先条件：<br />
1.熟悉Java语言优先</span>
<img src ="http://www.blogjava.net/chenweionline/aggbug/318424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-04-15 15:24 <a href="http://www.blogjava.net/chenweionline/archive/2010/04/15/318424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX开发模仿Mac OS的MagicalDock（鱼眼效果）</title><link>http://www.blogjava.net/chenweionline/archive/2010/04/09/317884.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Fri, 09 Apr 2010 09:58:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/04/09/317884.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/317884.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/04/09/317884.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/317884.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/317884.html</trackback:ping><description><![CDATA[<div><img src="http://www.blogjava.net/images/blogjava_net/chenweionline/Snapshot/magicaldock.jpg" alt="" border="0" /></div>
<div><a href="http://www.jqueen.org/magicaldock/MagicalDock.jnlp"><img src="http://www.blogjava.net/images/blogjava_net/chenweionline/launch.gif" alt="launch" width="88" height="24" /></a><br />
</div>
<div>MagicalDock修改了上个版本的设计，目前的思路是使用2个容器类Container和Flow完成布局，Flow为Node提供水平布局，Container是Flow的容器。</div>
<div>当鼠标移动到Node上，Node大小变化时会改变Flow的尺寸范围，这时动态调整Flow在Container中的位置完成水平位移效果并且将锚定Node的底部使一组Node在变化时都能够底线对齐。</div>
<div>source code:<a href="http://kenai.com/projects/magicaldock" target="_blank">http://kenai.com/projects/magicaldock</a></div>

<img src ="http://www.blogjava.net/chenweionline/aggbug/317884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-04-09 17:58 <a href="http://www.blogjava.net/chenweionline/archive/2010/04/09/317884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOSHaiti(Preview) - Game In JavaFX</title><link>http://www.blogjava.net/chenweionline/archive/2010/03/12/315309.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Fri, 12 Mar 2010 14:25:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/03/12/315309.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/315309.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/03/12/315309.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/315309.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/315309.html</trackback:ping><description><![CDATA[<div>开发中的一个版本，先睹为快，希望有更多的开发者关注JavaFX技术。</div>
<div><img src="http://www.blogjava.net/images/blogjava_net/chenweionline/Snapshot/soshaiti.jpg" alt="" width="400" height="251" /></div>
<div><a href="http://www.jqueen.org/soshaiti/SOSHaiti_browser.jnlp"><img src="http://www.blogjava.net/images/blogjava_net/chenweionline/launch.gif" alt="launch" width="88" height="24" /></a><a href="http://widgetfx.org/dock/launch.jnlp?arg=http://www.jqueen.org/soshaiti/SOSHaiti.jnlp"> <img alt="" src="http://www.blogjava.net/images/blogjava_net/chenweionline/WidgetFX-launch-icon.png" width="82" height="25" /></a></div>
<div>source code:<a target="_blank" href="http://kenai.com/projects/soshaiti">http://kenai.com/projects/soshaiti</a></div>
<div><hr />
</div>
<div><span style="color: red;">2010年3月22日更新：</span></div>
<div>1.修正游戏结束时不显示得分的BUG</div>
<div>2.增加一个Menu菜单，在游戏进行中可暂停游戏</div>
<div>3.添加物体间的碰撞特性（使用JBox2D）</div>
<img src ="http://www.blogjava.net/chenweionline/aggbug/315309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-03-12 22:25 <a href="http://www.blogjava.net/chenweionline/archive/2010/03/12/315309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX编译器编译重载方法的一处BUG</title><link>http://www.blogjava.net/chenweionline/archive/2010/02/25/313959.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Thu, 25 Feb 2010 15:35:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2010/02/25/313959.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/313959.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2010/02/25/313959.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/313959.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/313959.html</trackback:ping><description><![CDATA[直接看测试代码吧，一共2个类：BugTest.fx和A.fx，SDK版本是1.2.3。
<div>
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">/*</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;BugTest.fx<br />
&nbsp;*<br />
&nbsp;*&nbsp;Created&nbsp;on&nbsp;2010-2-25,&nbsp;22:05:11<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.jqueen.fx.bug;<br />
<br />
</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;</span><span style="color: #808080;">@author</span><span style="color: #008000;">&nbsp;Leon<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;BugTest&nbsp;{<br />
<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;取消该方法注释编译将抛出异常<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;test(a:&nbsp;A):&nbsp;Void&nbsp;{<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test(5);<br />
</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;&nbsp;&nbsp;&nbsp;}</span><span style="color: #008000;"><br />
</span><span style="color: #000000;"><br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;test(s:&nbsp;String):&nbsp;Void&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test(</span><span style="color: #000000;">5</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;test(i:&nbsp;Integer):&nbsp;Void&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
}</span></div>
</div>
<div>
<div style="font-size: 13px; border-left-color: #cccccc; padding: 4px 5px 4px 4px; width: 98%; background-color: #eeeeee;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008000;">/*</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;A.fx<br />
&nbsp;*<br />
&nbsp;*&nbsp;Created&nbsp;on&nbsp;2010-2-25,&nbsp;22:10:45<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.jqueen.fx.bug;<br />
<br />
</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;</span><span style="color: #808080;">@author</span><span style="color: #008000;">&nbsp;Leon<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
<br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;mixin&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;A&nbsp;{</span><span style="color: #000000;">}</span></div>
</div>
<div>BugTest里实现了3个带输入参数的重载方法，第一个方法的参数是自定义类型A，<strong>A被声明为mixin</strong>，后2个的参数是原始类型。只有在第一个方法被注释的情况下该类才可以被编译通过，否则编译器会抛出异常:</div>
<div>
<div>An exception has occurred in the OpenJavafx compiler. Please file a bug at the Openjfx-compiler issues home (https://openjfx-compiler.dev.java.net/Issues) after checking for duplicates. Include the following diagnostic in your report and, if possible, the source code which triggered this problem. &nbsp;Thank you.</div>
<div>java.lang.ClassCastException: com.sun.tools.javac.code.Symbol$ClassSymbol</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.code.JavafxTypes.asSuper(JavafxTypes.java:202)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javac.code.Types.isSubtypeUnchecked(Types.java:305)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.argumentsAcceptable(JavafxResolve.java:421)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.rawInstantiate(JavafxResolve.java:387)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.selectBest(JavafxResolve.java:711)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMemberWithoutAccessChecks(JavafxResolve.java:952)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMember(JavafxResolve.java:906)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMember(JavafxResolve.java:886)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findVar(JavafxResolve.java:567)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findIdent(JavafxResolve.java:1228)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.resolveIdent(JavafxResolve.java:1423)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitIdent(JavafxAttr.java:506)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXIdent.accept(JFXIdent.java:52)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:311)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitFunctionInvocation(JavafxAttr.java:2239)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXFunctionInvocation.accept(JFXFunctionInvocation.java:53)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:303)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitBlockExpression(JavafxAttr.java:1373)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXBlock.accept(JFXBlock.java:83)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:311)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.finishFunctionDefinition(JavafxAttr.java:1863)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxMemberEnter$SymbolCompleter.complete(JavafxMemberEnter.java:646)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javac.code.Symbol.complete(Symbol.java:400)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitFunctionDefinition(JavafxAttr.java:1658)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXFunctionDefinition.accept(JFXFunctionDefinition.java:93)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:321)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxMemberEnter$SymbolCompleter.complete(JavafxMemberEnter.java:643)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javac.code.Symbol.complete(Symbol.java:400)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMemberWithoutAccessChecks(JavafxResolve.java:943)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMember(JavafxResolve.java:906)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findMember(JavafxResolve.java:886)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findVar(JavafxResolve.java:567)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.findIdent(JavafxResolve.java:1228)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxResolve.resolveIdent(JavafxResolve.java:1423)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitIdent(JavafxAttr.java:506)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXIdent.accept(JFXIdent.java:52)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:311)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitFunctionInvocation(JavafxAttr.java:2239)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXFunctionInvocation.accept(JFXFunctionInvocation.java:53)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:303)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitBlockExpression(JavafxAttr.java:1373)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXBlock.accept(JFXBlock.java:83)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribExpr(JavafxAttr.java:311)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.finishFunctionDefinition(JavafxAttr.java:1863)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxMemberEnter$SymbolCompleter.complete(JavafxMemberEnter.java:646)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javac.code.Symbol.complete(Symbol.java:400)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.visitFunctionDefinition(JavafxAttr.java:1658)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.tree.JFXFunctionDefinition.accept(JFXFunctionDefinition.java:93)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:280)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribTree(JavafxAttr.java:265)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribDecl(JavafxAttr.java:334)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribClassBody(JavafxAttr.java:3696)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribClass(JavafxAttr.java:2808)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.comp.JavafxAttr.attribClass(JavafxAttr.java:2763)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.main.JavafxCompiler.attribute(JavafxCompiler.java:936)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.main.JavafxCompiler.compile2(JavafxCompiler.java:782)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.main.JavafxCompiler.compile(JavafxCompiler.java:685)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.main.Main.compile(Main.java:624)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.main.Main.compile(Main.java:312)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.Main.compile(Main.java:84)</div>
<div>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;at com.sun.tools.javafx.Main.main(Main.java:69)</div>
</div>
<img src ="http://www.blogjava.net/chenweionline/aggbug/313959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2010-02-25 23:35 <a href="http://www.blogjava.net/chenweionline/archive/2010/02/25/313959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX项目发布时虚拟机参数设置方法</title><link>http://www.blogjava.net/chenweionline/archive/2009/12/21/306828.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Mon, 21 Dec 2009 09:02:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2009/12/21/306828.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/306828.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2009/12/21/306828.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/306828.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/306828.html</trackback:ping><description><![CDATA[我一直是使用NetBeans IDE开发JavaFX项目，JavaFX项目编译后会在项目目录下建立一个dist文件夹，文件夹包含你的程序和另外3个发布文件，发布文件分别是XXX.html、XXX.jnlp和XXX_browser.jnlp，如果需要设置JavaFX程序运行时的虚拟机参数，那么可以根据你的发布方式选择在XXX.jnlp或者XXX_browser.jnlp里做出修改,它们都是标准的Java网络加载协议文件。<br />
<br />
例如，我选择把应用发布到浏览器，那么我使用文本编辑器打开文件XXX_browser.jnlp，在&lt;resources&gt;节点下默认有一个节点<strong>&lt;j2se version="1.5+"/&gt;</strong>用于描述程序运行需要的JRE版本，我们把它修改为<strong>&lt;j2se version="1.5+" java-vm-args="-Xmx256m" /&gt;</strong>，这样，我们的应用在运行时就可以使用最大256m的内存了。同理，可以设置更多的虚拟机参数，就不一一举例了。<br />
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/306828.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2009-12-21 17:02 <a href="http://www.blogjava.net/chenweionline/archive/2009/12/21/306828.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaFX实现一个简单的模态窗口</title><link>http://www.blogjava.net/chenweionline/archive/2009/12/19/306629.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Fri, 18 Dec 2009 18:45:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2009/12/19/306629.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/306629.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2009/12/19/306629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/306629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/306629.html</trackback:ping><description><![CDATA[JavaFX直到目前最新的1.2.1版本里没有提供模态窗口或着对话框，我在项目里通过扩展Control自己实现了一个简单的模态窗口，控件由2个类Window.fx和WindowSkin.fx组成，在WindowSkin里实现了Skin的<span style="color: #000000;">抽象方法contains，在模态下始终返回true。</span><br />
<br />
下面是控件的源码和一个演示demo。<br />
<br />
Window.fx<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.jqueen.fx.scene.control;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.Node;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.image.Image;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.control.Control;<br />
<br />
</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;</span><span style="color: #808080;">@author</span><span style="color: #008000;">&nbsp;Leon&nbsp;Chen<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;Window&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;Control&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;var&nbsp;modal:&nbsp;Boolean;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;var&nbsp;background:&nbsp;Image;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;var&nbsp;content:&nbsp;Node[];<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;</span><span style="color: #0000ff;">protected</span><span style="color: #000000;">&nbsp;function&nbsp;create():&nbsp;Node&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;skin&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;WindowSkin&nbsp;{};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">super</span><span style="color: #000000;">.create();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<br />
WindowSkin.fx<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">package</span><span style="color: #000000;">&nbsp;org.jqueen.fx.scene.control;<br />
<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.control.Skin;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.Group;<br />
</span><span style="color: #0000ff;">import</span><span style="color: #000000;">&nbsp;javafx.scene.image.ImageView;<br />
<br />
</span><span style="color: #008000;">/**</span><span style="color: #008000;"><br />
&nbsp;*&nbsp;</span><span style="color: #808080;">@author</span><span style="color: #008000;">&nbsp;Leon&nbsp;Chen<br />
&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">package</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;">&nbsp;WindowSkin&nbsp;</span><span style="color: #0000ff;">extends</span><span style="color: #000000;">&nbsp;Skin&nbsp;{<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;windowControl&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;bind&nbsp;control&nbsp;as&nbsp;Window;<br />
&nbsp;&nbsp;&nbsp; def bounds : Bounds = bind windowControl.boundsInLocal;<br />
&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;background&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;ImageView&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image:&nbsp;bind&nbsp;windowControl.background<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;};<br />
&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;content&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;bind&nbsp;windowControl.content;<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;init&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;node&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Group&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;content:&nbsp;bind[background,&nbsp;content]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;intersects(localX:&nbsp;Number,&nbsp;localY:&nbsp;Number,&nbsp;localWidth:&nbsp;Number,&nbsp;localHeight:&nbsp;Number):&nbsp;Boolean&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">bounds</span><span style="color: #000000;">.intersects(localX,&nbsp;localY,&nbsp;localWidth,&nbsp;localHeight);<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;override&nbsp;</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;function&nbsp;contains(localX:&nbsp;Number,&nbsp;localY:&nbsp;Number):&nbsp;Boolean&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(windowControl.modal)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">else</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #000000;">bounds</span><span style="color: #000000;">.contains(localX,&nbsp;localY);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</span></div>
<br />
<a href="http://222.185.229.91:8080/Window/dist/Window_browser.jnlp"><img src="http://www.blogjava.net/images/blogjava_net/chenweionline/Snapshot/ModalWindow.jpg" alt="" width="300" border="0" height="200" /></a><br />
<br />
点击图片可运行程序，非模态时背景可以监听到鼠标事件。<br />
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/306629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2009-12-19 02:45 <a href="http://www.blogjava.net/chenweionline/archive/2009/12/19/306629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>与NetBeans6.8无关</title><link>http://www.blogjava.net/chenweionline/archive/2009/12/11/305648.html</link><dc:creator>陈维</dc:creator><author>陈维</author><pubDate>Fri, 11 Dec 2009 13:12:00 GMT</pubDate><guid>http://www.blogjava.net/chenweionline/archive/2009/12/11/305648.html</guid><wfw:comment>http://www.blogjava.net/chenweionline/comments/305648.html</wfw:comment><comments>http://www.blogjava.net/chenweionline/archive/2009/12/11/305648.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/chenweionline/comments/commentRss/305648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/chenweionline/services/trackbacks/305648.html</trackback:ping><description><![CDATA[今天NetBeans 6.8正式发布，作为粉丝当然第一时间去官网下载。<br />
随手点开了Overview视频，视频随后部分介绍了一些基于NetBeans
Platform开发的富客户端应用，在5分53秒突然一张很熟悉的抓图跃入眼帘，那是我在07年在NetBeans
5.5上开发的一个图像处理富客户端应用，兴奋之余又开始习惯性的反省，这2年在Platform开发上没什么成绩，要努力。<br />
<br />
<img alt="" src="http://www.blogjava.net/images/blogjava_net/chenweionline/Snapshot/nb68overview.jpg" width="800" height="184" /><br />
<br />
<img src ="http://www.blogjava.net/chenweionline/aggbug/305648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/chenweionline/" target="_blank">陈维</a> 2009-12-11 21:12 <a href="http://www.blogjava.net/chenweionline/archive/2009/12/11/305648.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>