<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steve On Java &#187; Announcements</title>
	<atom:link href="http://steveonjava.com/category/announcements/feed/" rel="self" type="application/rss+xml" />
	<link>http://steveonjava.com</link>
	<description>Hacking JavaFX and Java with Agility</description>
	<lastBuildDate>Wed, 08 Sep 2010 01:42:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavaFX Your Way: Building JavaFX Applications with Alternative Languages</title>
		<link>http://steveonjava.com/javafx-your-way-building-javafx-applications-with-alternative-languages/</link>
		<comments>http://steveonjava.com/javafx-your-way-building-javafx-applications-with-alternative-languages/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 01:42:16 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1347</guid>
		<description><![CDATA[


		
		
		
		If you preregistered for any JavaFX sessions at JavaOne, you probably noticed a bit of churn in the past few weeks.  I actually requested that they drop my talk entitled &#8220;Take Control of JavaFX&#8221;, because Jonathan and I didn&#8217;t think we could do justice to the topic.

However, we came up with an alternative talk, which [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fjavafx-your-way-building-javafx-applications-with-alternative-languages%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FbdkmmH%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaFX%20Your%20Way%3A%20Building%20JavaFX%20Applications%20with%20Alternative%20Languages%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/javafx-your-way-building-javafx-applications-with-alternative-languages/";
		var dzone_title = "JavaFX Your Way: Building JavaFX Applications with Alternative Languages";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>If you preregistered for any JavaFX sessions at JavaOne, you probably noticed a bit of churn in the past few weeks.  I actually requested that they drop my talk entitled &#8220;Take Control of JavaFX&#8221;, because Jonathan and I didn&#8217;t think we could do justice to the topic.</p>
<p style="text-align: center;"><img class="aligncenter" title="JVM Languages" src="http://3.bp.blogspot.com/_aQ9isAh6Od0/Svaq0z3nSbI/AAAAAAAABuc/DcAj-mp5o3I/s320/scala+or+groovy+and+others.JPG" alt="" width="320" height="194" /></p>
<p>However, we came up with an alternative talk, which we believe will be even better and more topical.  Here are the talk details:</p>
<p><strong>JavaFX Your Way: Building JavaFX Applications with Alternative Languages</strong><br />
Abstract: JavaFX is more than a language. It is also a platform for building immersive applications with graphics, animation, and rich media. In this session, you will see how you can leverage JavaFX from a host of different JVM languages, including Java, JRuby, Groovy, Scala, and Clojure.</p>
<p>The talk is on Monday at 4PM in Hilton San Francisco, Golden Gate 8.  Hope to see you there!</p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/javafx-your-way-building-javafx-applications-with-alternative-languages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JavaFX Talks Accepted</title>
		<link>http://steveonjava.com/javafx-talks-accepted/</link>
		<comments>http://steveonjava.com/javafx-talks-accepted/#comments</comments>
		<pubDate>Sun, 23 May 2010 06:46:25 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfxtras]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[jazoon]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1192</guid>
		<description><![CDATA[


		
		
		
		I am honored to be accepted by some great conferences to speak on JavaFX.  Each of the talks I am giving is unique, which means more work for me, but is a great opportunity to talk about some different topics that I think are important for folks using JavaFX.
First up is Jazoon in Zurich, Switzerland [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fjavafx-talks-accepted%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FbeZoei%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaFX%20Talks%20Accepted%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/javafx-talks-accepted/";
		var dzone_title = "JavaFX Talks Accepted";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I am honored to be accepted by some great conferences to speak on JavaFX.  Each of the talks I am giving is unique, which means more work for me, but is a great opportunity to talk about some different topics that I think are important for folks using JavaFX.</p>
<p><a href="http://jazoon.com/"><img class="alignright size-full wp-image-1174" title="jazoon" src="http://steveonjava.com/wp-content/uploads/2010/04/jazoon.png" alt="" width="140" height="35" /></a>First up is <a href="http://jazoon.com/">Jazoon</a> in Zurich, Switzerland on June 1-3.  I have heard great things about this conference from folks who have attended in past years, and have already heard from some folks who will be attending my talk.  The topic for my session will be Building Data Rich Interfaces with JavaFX.  I have some good content lined up from my open source projects (actually too much content), so it should be a great session.</p>
<p>Next I will be speaking at JavaOne in my hometown of San Francisco on September 19-23.  Oracle is pulling out all the stops for this conference, taking over a full block of Mason Street as the JavaOne &#8220;Zone&#8221;.  They will be putting up a big tent with videostreaming and other festivities, in addition to the 4,000 square feet of space dedicated to talks and sessions.  For those of you who are not aware of the magnitude of Oracle, here is a shot of what they have done in past years for Oracle Open World:</p>
<p><a rel="attachment wp-att-1196" href="http://steveonjava.com/javafx-talks-accepted/oracle-tent/"><img class="alignnone size-full wp-image-1196" title="Oracle Moscone Tent" src="http://steveonjava.com/wp-content/uploads/2010/05/Oracle-Tent.jpg" alt="" width="600" height="400" /></a></p>
<p>I am fortunate enough to be able to co-present 2 Technical Sessions and 2 BOFs at JavaOne 2010:</p>
<p><strong>Technical Session 1</strong>: Pro JavaFX: Developing Enterprise Applications<br />
Co-presented with Jim Weaver</p>
<p><strong>Technical Session 2</strong>: Take Control of JavaFX<br />
Co-presented with Jonathan Giles from the JavaFX Control Team</p>
<p><strong>Birds of a Feather Session 1</strong>: JFXtras: JavaFX Controls, Layouts, Services, and More<br />
Co-presented with Dean Iverson and the rest of the JFXtras Team</p>
<p><strong>Birds of a Feather Session 2</strong>: JavaFX Author JAM<br />
Co-presented with Jim Weaver, Jim Clarke, Dean Iverson, and many other JavaFX authors (to be announced)</p>
<p>If you haven&#8217;t already, it is not too late to <a href="http://www.oracle.com/us/javaonedevelop/index.html">book your ticket</a> for JavaOne.  This will definitely be a year you won&#8217;t want to miss!</p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/javafx-talks-accepted/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Announcing the Apropos Project</title>
		<link>http://steveonjava.com/announcing-the-apropos-project/</link>
		<comments>http://steveonjava.com/announcing-the-apropos-project/#comments</comments>
		<pubDate>Tue, 04 May 2010 01:06:52 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfxtras]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[apropos]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[lean]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1177</guid>
		<description><![CDATA[


		
		
		
		At the Lean Software and Systems Conference a week ago, Israel Gat, Erik Huddleston, and I did a presentation on Reformulating the Product Delivery Process.  At the end of this talk, we unveiled an open-source, JavaFX tool called Apropos that we use for Product Portfolio Planning at Inovis.

Note: The data has been blurred to hide [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fannouncing-the-apropos-project%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FdoIKuw%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Announcing%20the%20Apropos%20Project%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/announcing-the-apropos-project/";
		var dzone_title = "Announcing the Apropos Project";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>At the <a href="http://atlanta2010.leanssc.org/">Lean Software and Systems Conference</a> a week ago, Israel Gat, Erik Huddleston, and I did a presentation on <a href="http://theagileexecutive.com/2010/04/26/apropos-the-inovis-end-to-end-kanban-system/">Reformulating the Product Delivery Process</a>.  At the end of this talk, we unveiled an open-source, JavaFX tool called <a href="http://code.google.com/p/apropos/">Apropos</a> that we use for Product Portfolio Planning at <a href="http://inovis.com/">Inovis</a>.</p>
<p><a href="http://code.google.com/p/apropos/"><img class="alignnone size-large wp-image-1178" title="apropos-portfolio" src="http://steveonjava.com/wp-content/uploads/2010/05/apropos-portfolio-650x430.png" alt="" width="650" height="430" /></a></p>
<p class="note">Note: The data has been blurred to hide corporate information.  The final release will include a test bed of public data, which can be used for display and testing.</p>
<p>What you are seeing in the above screenshot is the Portfolio Kanban View that we use for tracking features through their full lifecycle from proposal through validation.  It is backed by the Rally Agile Lifecycle Management tool, which exposes Web Services for accessing all of our planning data.  The entire UI was written in JavaFX, and makes heavy use of <a href="http://jfxtras.org/">JFXtras</a> features, such as the XTableView.</p>
<p>The plan for this tool is to do the initial launch of a BSD-licensed open-source version on May 22nd.  This will include support for the <a href="http://www.rallydev.com/agile_products/editions/community/signup/">Rally Community Edition</a>, which is free for up to 10 users.  In future releases we plan to support other Agile Lifecycle Management tools, both commercial and open-source, but will need assistance from the community to do this.</p>
<p>If you are interested in helping out with this project, please <a href="http://steveonjava.com/contact/">contact me</a>.  I will have limited bandwidth until after the initial launch, but after that would love to scale up this project with interested parties.</p>
<p>Here is the full presentation, which includes additional screenshots of <a href="http://code.google.com/p/apropos/">Apropos</a> at the end (slides 15-19):</p>
<div id="__ss_3853287" style="width: 425px;"><object id="__sse3853287" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lssc10v5-100425212336-phpapp02&amp;stripped_title=reformulating-the-product-delivery-process-3853287" /><param name="name" value="__sse3853287" /><param name="allowfullscreen" value="true" /><embed id="__sse3853287" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=lssc10v5-100425212336-phpapp02&amp;stripped_title=reformulating-the-product-delivery-process-3853287" name="__sse3853287" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/announcing-the-apropos-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JavaFX 1.3 Top 10</title>
		<link>http://steveonjava.com/javafx-1-3-top-10/</link>
		<comments>http://steveonjava.com/javafx-1-3-top-10/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 21:45:40 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[javafx 1.3]]></category>
		<category><![CDATA[top-10]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1112</guid>
		<description><![CDATA[


		
		
		
		JavaFX 1.3 has just gone live on JavaFX.com.  This release is deceptively small, but has an enormous number of changes under the hood.  In this post I will take you through the Top 10 major features, giving you background information I learned from working with the JavaFX team, and flooding you with details on interesting [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fjavafx-1-3-top-10%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9AVafu%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JavaFX%201.3%20Top%2010%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/javafx-1-3-top-10/";
		var dzone_title = "JavaFX 1.3 Top 10";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>JavaFX 1.3 has just gone live on <a href="http://javafx.com/">JavaFX.com</a>.  This release is deceptively small, but has an enormous number of changes under the hood.  In this post I will take you through the Top 10 major features, giving you background information I learned from working with the JavaFX team, and flooding you with details on interesting tidbits you might otherwise miss.</p>
<h2>JavaFX 1.3 Top 10 Features</h2>
<p><a rel="attachment wp-att-1113" href="http://steveonjava.com/javafx-1-3-top-10/javafx1-3-top-ten/"><img class="alignnone size-full wp-image-1113" title="javafx1.3-top-ten" src="http://steveonjava.com/wp-content/uploads/2010/04/javafx1.3-top-ten.jpg" alt="" width="449" height="404" /></a></p>
<h4>1. New Controls</h4>
<p><span id="more-1112"></span>JavaFX 1.3 comes with several new controls that are extremely useful when designing user interfaces.  For building forms you have the new PasswordBox, ChoiceBox, and Separator classes.  The PasswordBox is similar to the TextBox control, except it automatically hides input as it is typed.  The ChoiceBox control is long overdue, but surprisingly simple to use.  The interface is similar to the ListView control, both of which take a sequence of items.</p>
<p>Speaking of the ListView, this control has received a serious upgrade.  This includes the ability to render horizontally or vertically as well as customizable cell renderers via a cellFactory closure.</p>
<p>In addition, there is a new ScrollView class that simplifies the task of creating a simple scrollable viewport surrounding a collection of nodes.  This has been a feature in <a href="http://jfxtras.org/">JFXtras</a> for a while, so it is nice to see that the JavaFX team thought it was useful enough to add to the core libraries.</p>
<p>Finally, all controls now take a Tooltip that will be displayed on rollover.</p>
<p>To bring it all together, here is a simple example that demonstrates all the new controls in action:</p>
<p><a rel="attachment wp-att-1150" href="http://steveonjava.com/javafx-1-3-top-10/controldemo/"><img class="alignnone size-full wp-image-1150" title="Control Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/ControlDemo.png" alt="" width="266" height="288" /></a></p>
<p>And here is the source code:</p>
<pre class="brush: javafx;">

import javafx.scene.control.*;
import javafx.scene.layout.VBox;
import javafx.geometry.Insets;

var list = [&quot;apples&quot;, &quot;bananas&quot;, &quot;oranges&quot;, &quot;pears&quot;, &quot;cabbage&quot;];

ScrollView {
  width: 250
  height: 250
  managed: false
  node: VBox {
    padding: Insets {top: 10, left: 10, bottom: 10, right: 10}
    spacing: 10
    content: [
      PasswordBox {promptText: &quot;enter password&quot;}
      Separator {}
      ChoiceBox {
        items: list
      }
      ListView {
        vertical: false
        items: list
      }
    ]
  }
}
</pre>
<h4>2. Layout Enhancements</h4>
<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:TrackMoves /> <w:TrackFormatting /> <w:PunctuationKerning /> <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>X-NONE</w:LidThemeAsian> <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:SplitPgBreakAndParaMark /> <w:DontVertAlignCellWithSp /> <w:DontBreakConstrainedForcedTables /> <w:DontVertAlignInTxbx /> <w:Word11KerningPairs /> <w:CachedColBalance /> </w:Compatibility> <m:mathPr> <m:mathFont m:val="Cambria Math" /> <m:brkBin m:val="before" /> <m:brkBinSub m:val="&#45;-" /> <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]--> <!--[if gte mso 10]><br />
<mce:style><!   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	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:0in 5.4pt 0in 5.4pt; 	mso-para-margin-top:0in; 	mso-para-margin-right:0in; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0in; 	line-height:115%; 	mso-pagination:widow-orphan; 	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;} --></p>
<p><!--[endif]--></p>
<p class="MsoNormal">Layout has undergone some serious changes as a result of this release, including the following:</p>
<ul>
<li>LayoutInfo and Resizable now include settings for fill, grow, and shrink.  Fill will allow you to specify whether the contents of a layout stop at their preferredSize or take up the maximum allowable space.  Grow and shrink are hints to the container about the relative priority for different nodes to get the available space.</li>
<li>LayoutInfo also includes a new margin feature, which makes it very easy to add visual padding around your Nodes in a layout!  This is in addition to padding, which appears on all the built-in layouts.</li>
<li>Container has a new snapToPixel boolean that allows you to create pixel-perfect alignments to avoid unwanted aliasing effects.</li>
<li>There is a new autoSize feature on Groups.<span> </span>Children will be automatically resized to their preferred width and height, preventing layout bugs when uninitialized components return the wrong bounds initially.<span> </span>You can still disable this feature, but it is strongly recommended that you fix your application to make use of preferred widths and heights instead of setting Node width and height manually.</li>
<li>Resizable classes automatically have layoutBounds set to [0, 0, width, height], avoiding an additional required declaration.</li>
<li>New support for baseline layouts via the TextOrigin class.</li>
<li>The Tile class now automatically sizes the tileWidth and tileHeight by default.</li>
<li>HPos and VPos have boolean for fillHeight and fillWidth, which rarely should be changed, but allow you to default back to the pre 1.3 behavior.</li>
</ul>
<p>For the most part, the JavaFX team has done an amazing job of keeping the layout changes backwards compatible.  However, to fully take advantage of the new layout features you will have to update your code.</p>
<p>The layout changes are significant enough that I can&#8217;t do them justice in this short blurb.  However, either myself or <a href="http://www.java.net/blogs/aim/">Amy Fowler</a> (whoever makes it first) will do an in depth article on just this one topic!</p>
<h4>3. Performance</h4>
<p>There have been some very significant changes in performance in the JavaFX 1.3 release all the way down to the compiler generated code.</p>
<p>Some areas you will notice the largest performance improvement in include:</p>
<ul>
<li>Bind performance &#8211; All binds in the language are now lazy by default, which means that they will get marked as dirty immediately, but only get re-evaluated when needed (if at all).</li>
<li>General code performance &#8211; With the compiler rewrite, a level of indirection on variable access has been removed, which will significantly improve the overall performance of any application.</li>
<li>Layout performance &#8211; The layout code has been optimized to reduce the number of passes required on each layout cycle, greatly improving the perceived responsiveness of applications.</li>
<li>Text performance &#8211; With the change to logical rather than physical layout bounds, any applications that heavily use Text elements will see a dramatic improvement in overall performance.</li>
<li>CSS performance &#8211; The CSS support has been rewritten from the ground up, greatly improving performance of applied styles.</li>
</ul>
<h4>4. Enhanced CSS</h4>
<p>The CSS support in JavaFX 1.3 has been rewritten from the ground up.  This includes some greatly enhanced functionality, especially for the Control classes, and also has a dramatic improvement on performance.</p>
<p>Because the changes are so significant, you may find that a lot of your previous styles do not work correctly on the 1.3 release.  The full set of CSS changes and supported tags is such a large topic that I will provide a link to the full JavaFX CSS specification once it is made available.</p>
<p>Dean Iverson has done an excellent writeup of some of the new CSS capabilties here: <a href="http://pleasingsoftware.blogspot.com/2010/04/advanced-javafx-control-styling.html">Advanced  JavaFX Control Styling</a></p>
<h4>5. 3D Support</h4>
<p>Via the new, experimental Prism graphics stack you can start experimenting with 3D graphics in your JavaFX applications.  Some of the new APIs that you will see throughout the JavaFX documentation for working with 3D graphics include:</p>
<ul>
<li>New Camera classes for changing the viewing perspective of the Scene, including a ParallelCamera that does orthographic projections and a PerspectiveCamera that can be used to see things in full 3D</li>
<li>Transition changes to accept a three dimensional axis on RotationTransition, ScaleTransition, and TranslateTransition</li>
<li>A completely revamped set of transform classes that accept z coordinates</li>
<li>A new Point3D class as well as changes to BoundingBox and Bounds to accept a third dimension</li>
<li>The addition of rotationAxis, scaleZ, and translateZ on all scene graph Nodes</li>
</ul>
<p>To use 3D in your applications you will need to enable the prism graphics stack with the following JVM argument:</p>
<pre class="brush: plain;">

-Xtoolkit prism
</pre>
<p>Runtime you can validate whether 3D is enabled or not using the new Platform and ConditionalFeature classes like this:</p>
<pre class="brush: javafx;">

Platform.isSupported(ConditionalFeature.3D);
</pre>
<p>The best example of JavaFX 3D in action is Jim Weaver&#8217;s new <a href="http://learnjavafx.typepad.com/weblog/2010/04/your-calendar-pwn3d-leveraging-the-javafx-scene3d-conditionalfeature.html">3D Calendar Cube post</a>.</p>
<p><a href="http://learnjavafx.typepad.com/weblog/2010/04/your-calendar-pwn3d-leveraging-the-javafx-scene3d-conditionalfeature.html"><img class="alignnone size-thumbnail wp-image-1122" title="CalendarCube3D" src="http://steveonjava.com/wp-content/uploads/2010/04/CalendarCube3D-150x150.png" alt="" width="150" height="150" /></a></p>
<h4>6. TV Emulator</h4>
<p>For the first time, JavaFX 1.3 includes a TV Emulator as part of the distribution.  This gives you the chance to compile and test your applications against the new TV profile, and sometime in the near future deploy it to the big screen!</p>
<p>The easiest way to change your application to run against the TV profile is to select the &#8220;Run in TV Emulator&#8221; option in the NetBeans Properties dialog.  From the command line you can accomplish the same thing by passing in &#8220;-profile TV&#8221; to both the compiler and JavaFX runtime.</p>
<p>Here is a screenshot of the TV Emulator in action:</p>
<p><a rel="attachment wp-att-1116" href="http://steveonjava.com/javafx-1-3-top-10/displayshelftv/"><img class="alignnone size-full wp-image-1116" title="DisplayShelfTV" src="http://steveonjava.com/wp-content/uploads/2010/04/DisplayShelfTV.png" alt="" width="340" height="260" /></a></p>
<p>The biggest change you will notice is the different icon in the upper-left hand corner of the screen.  From a development perspective, it feels very similar to the desktop experience, but you need to keep in mind the following constraints:</p>
<ul>
<li>Screen Distance &#8211; Your end users will be sitting 5 to 6 feet away from the screen, so your entire application has to be designed to be visually distinctive at a distance.</li>
<li>Remote Interaction &#8211; TV viewers do not typically sit on their couches with full QWERTY keyboards, so your UI will need to be designed to be fully operational from a common remote control.  This can make navigation, selection, and text input much more challenging.</li>
</ul>
<p>If you are interested to see a live demonstration of JavaFX TV, join us in person or for the live web stream of our <a href="http://www.svjugfx.org/calendar/13260637/">June SvJugFX meeting</a> with Mikhail Gorshenev from the JavaFX TV development team.</p>
<h4>7. Conditional Features</h4>
<p>I mentioned a little bit about conditional features in the 3D section above.  However, having conditional features is itself an extremely important feature.</p>
<p>In previous release of JavaFX if you wanted to make use of certain features, such as effects, that were only in the desktop profile, you were required to remove these from your code to compile against mobile.  With the addition of conditional features you can now safely include these features in your application and they will be silently ignored if they are not supported on your platform.</p>
<p>This takes the concept of write once, run anywhere to a new level in JavaFX, greatly simplifying development on platforms that only support the common profile!</p>
<p>Here is a short program that will print out whether or not each of the conditional features is enabled for your platform:</p>
<pre class="brush: javafx;">
import javafx.runtime.*;

println(&quot;Effect enabled: {Platform.isSupported(ConditionalFeature.EFFECT)}&quot;);
println(&quot;Input Method enabled: {Platform.isSupported(ConditionalFeature.INPUT_METHOD)}&quot;);
println(&quot;Scene 3D enabled: {Platform.isSupported(ConditionalFeature.SCENE3D)}&quot;);
println(&quot;Shape Clip enabled: {Platform.isSupported(ConditionalFeature.SHAPE_CLIP)}&quot;);
</pre>
<h4>8. Custom Cursors</h4>
<p>You are no longer limited to the set of default cursors defined on the Cursor class.  Using the new ImageCursor class you can take any JavaFX Image and turn it into a mouse cursor.</p>
<p>This capability was recently released as a part of the <a href="http://steveonjava.com/jfxtras-0-6-final-released/">JFXtras 0.6 Release</a> thanks to the hard work of Jeff Friesen, but is a very welcome addition to the core API!  Now all that is needed is an implementation of Jeff&#8217;s <a href="http://today.java.net/article/2009/07/27/introducing-custom-paints-javafx">custom paints</a>.</p>
<h4>9. Faster Animation</h4>
<p>JavaFX 1.3 has a new cacheHint option on Nodes that allows you to degrade performance while animations are taking place.  Perceptually it is hard for the user to notice the loss of quality, but it can have a very big difference in performance of your application.  This is a staple of other JavaFX scene graph technologies like <a href="http://piccolo2d.org/">Piccolo2D</a>, so it is good to see progress on this in the JavaFX 1.3 release.</p>
<p>There is a great example of how to use this new capability right in the <a href="http://java.sun.com/javafx/1.3/docs/api/javafx.scene/javafx.scene.Node.html">JavaFX Node API docs</a> (duplicated here for convenience):</p>
<pre class="brush: javafx;">
 expensiveNode.cache = true;
 expensiveNode.cacheHint = CacheHint.QUALITY;
 ...
 // Do an animation
 expensiveNode.cacheHint = CacheHint.SPEED;
 Timeline {
     keyFrames: [
         KeyFrame {
             time: 2s
             values: [
                 expensiveNode.scaleX =&gt; 2.0,
                 expensiveNode.scaleY =&gt; 2.0,
                 expensiveNode.rotate =&gt; 360,
                 expensiveNode.cacheHint =&gt; CacheHint.QUALITY
             ]
        }
     ]
 }.play();
</pre>
<h4>10. Preview Features</h4>
<p>In addition to the public API, JavaFX 1.3 contains a number of top secret new features!  These are features that are not final, but are very usable if you are willing to live with future API changes.  All of the preview features are grouped under the com.javafx.preview package, and include the following:</p>
<ul>
<li>Grid &#8211; A Grid layout that makes it much simpler to layout nodes in perfectly aligned rows and columns.  The original layout code was donated by the <a href="http://jfxtras.org/">JFXtras team</a>, and productized by the amazing layout skills of Amy Fowler.</li>
<li>MenuBar/PopupMenu &#8211; This is the completed version of Jonathan Giles very popular <a href="http://jonathangiles.net/blog/?p=566">Menu control</a>.  He is now a core member of the JavaFX Control Team, and plugging away at bringing this and other great controls to the hands of JavaFX developers.</li>
<li>TreeView &#8211; A full implementation of a hierarchical tree in JavaFX complete with TreeItems and TreeCells.</li>
<li>ToolBar &#8211; A palette-like control that lets you create rows of tool buttons with icons and text.  This is the handiwork of Paru Somashekar.</li>
</ul>
<p>In a future post I will go into more detail on usage of these preview features, which greatly extend the power of JavaFX!</p>
<h2>Other Noteworthy Features</h2>
<p>Besides the major features mentioned above, there are also thousands of little changes that have made it in to the 1.3 release.  While I don&#8217;t have time (or room) to cover all of them in detail, here are some other noteworthy features that you can take advantage of in your applications:</p>
<ul>
<li>New Amble font &#8211; JavaFX now includes its own high fidelity fonts that are consistent across all platforms.  Since this is the new default font, you may notice that the spacing and alignment of your existing applications may be slightly off.</li>
<li>Timelines can now be paused.  There is also an evaluateKeyValues that allows you to reevaluate the value portion of your animation (whatever is on the right side of the =&gt;) on demand (normally the value is evaluated once before the first Timeline execution).</li>
<li>You can get exceptions that occur while processing JSON/XML via the new exception variable on Event.</li>
<li>PullParsers can now be run asynchronously using the new ParserTask class.</li>
<li>FXD now supports node selection via an XPath-like syntax and has metadata support on nodes, which is exposed as a map to the application.</li>
<li>There is a new Bounds class for representing widths and heights.</li>
<li>Builtins has a new isReadOnly function, which tells you if a variable is bound.  No more catching AssignToBoundException!</li>
<li>Durations are now Comparable, have new constants for one and zero, and a new static TYPE_INFO variable.</li>
<li>CustomNode now has a publicly exposed children sequence.  This makes it much easier to work with scenegraph navigation.  It also solves a potentially perplexing issue with object initialization order.  You should definitely make use of the new children sequence rather than overriding the old create function.</li>
<li>The infernal scene graph warning is gone!  You can now move a node around the scenegraph without worrying about removing it from the previous parent.  Stuart Marks has a <a href="http://stuartmarks.wordpress.com/2009/12/04/that-infernal-scene-graph-warning-message-ii/">great blog post</a> about this.</li>
<li>Node has a new pickOnBounds variable that lets you change the active hit region to be the logical rather than the physical bounds.</li>
<li>All container nodes (Group, CustomNode, Container, Control) now extend Parent and have a children sequence, greatly simplifying scene graph traversal.</li>
<li>Text supports logical and physical bounds.  Big performance improvement with the new default of logical!</li>
<li>Improved charts…  background lines, shading, and cleaner text.  Here is a before and after picture:</li>
</ul>
<p><a rel="attachment wp-att-1131" href="http://steveonjava.com/javafx-1-3-top-10/chartbeforeandafter/"><img class="alignnone size-full wp-image-1131" title="Chart Before and After" src="http://steveonjava.com/wp-content/uploads/2010/04/chartBeforeAndAfter.png" alt="" width="626" height="327" /></a></p>
<h2>Additional Resources</h2>
<p>The JavaFX team did a great job of documenting the new features and migration to JavaFX 1.3 in the following articles:</p>
<ul>
<li><a href="http://javafx.com/docs/articles/javafx1-3.jsp">What&#8217;s New in  JavaFX 1.3</a></li>
<li><a href="http://javafx.com/docs/articles/porting-guide-javafx1-3.jsp">JavaFX  1.3 Migration Guide</a></li>
</ul>
<p>And not to be outdone, Jim Weaver had the very first external post about the 1.3 release emphasizing the new 3D capabilities:</p>
<ul>
<li><a href="http://learnjavafx.typepad.com/weblog/2010/04/your-calendar-pwn3d-leveraging-the-javafx-scene3d-conditionalfeature.html">Your Calendar PWN3D: Leveraging the JavaFX SCENE3D ConditionalFeature</a></li>
</ul>
<p>Since this post first appeared, some excellent resources have come up:</p>
<ul>
<li><a href="http://pleasingsoftware.blogspot.com/2010/04/advanced-javafx-control-styling.html">Advanced JavaFX Control Styling</a> by Dean Iverson</li>
<li></li>
</ul>
<p>As additional resource become available, I will continue to update this section.</p>
<h2>Conclusion</h2>
<p>I hope you enjoyed this whirlwind tour through all the new features of the JavaFX 1.3 release.  There is a lot of goodness here, some of which I might have missed, so please comment on any features of the 1.3 release that you enjoy using!</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 4976px; width: 1px; height: 1px; overflow: hidden;">
<h3 class="entry-header">Your Calendar PWN3D: Leveraging the JavaFX  SCENE3D ConditionalFeature</h3>
</div>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/javafx-1-3-top-10/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>JFXtras 0.6 Final Released</title>
		<link>http://steveonjava.com/jfxtras-0-6-final-released/</link>
		<comments>http://steveonjava.com/jfxtras-0-6-final-released/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 06:18:37 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfxtras]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=1011</guid>
		<description><![CDATA[


		
		
		
		I am pleased to announce the 0.6 release of the open-source JFXtras project, the largest 3rd party library of JavaFX add-ons.  This release is a very large undertaking that represents the work of several dozen contributors over the past 6 months.
JFXtras 0.6 will work with any JavaFX release in the 1.2 family.  We recommend using [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fjfxtras-0-6-final-released%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2F9yUS14%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JFXtras%200.6%20Final%20Released%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/jfxtras-0-6-final-released/";
		var dzone_title = "JFXtras 0.6 Final Released";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p><a href="http://code.google.com/p/jfxtras/downloads/list"><img class="alignright size-full wp-image-1041" title="Download JFXtras 0.6" src="http://steveonjava.com/wp-content/uploads/2010/04/download-button1.png" alt="" width="175" height="174" /></a>I am pleased to announce the 0.6 release of the open-source JFXtras project, the largest 3rd party library of JavaFX add-ons.  This release is a very large undertaking that represents the work of several dozen contributors over the past 6 months.</p>
<p>JFXtras 0.6 will work with any JavaFX release in the 1.2 family.  We recommend using the very latest release (currently JavaFX 1.2.3), which can be downloaded from <a href="http://javafx.com/">JavaFX.com</a>.</p>
<p>Starting immediately, we will be focusing on developing a JavaFX 1.3 compatible JFXtras release.  Our plan is to release a 1.3 compatible version of JFXtras within 1 week of the official release announcement from Oracle.  To hear about future JFXtras release announcements, make sure to <a href="http://twitter.com/steveonjava">follow my blog</a>.</p>
<h3>JFXtras Functionality</h3>
<p>To make it easier to see some of the JFXtras capabilities in action, I have included Web Start demos from our component test library.  It may take a minute or two to load the first demo, but after that the rest should launch instantaneously.</p>
<h4>Data-Driven Controls</h4>
<p>The JFXtras controls include a Table, Tree, Shelf, Calendar, PasswordBox, Picker, Spinner, MultiLineTextBox, ScoreBoard, and Menu.  Many of these controls can be driven off a dynamic data provider that gives back incremental results from an asynchronous operation, such as a Web Service call.</p>
<p>XTableView (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/controls/test/org/jfxtras/scene/control/XTableViewDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XTableViewDemo.jnlp"><img class="alignnone size-full wp-image-1062" title="JFXtras XTableView Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/table.png" alt="" width="649" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XTableViewDemo.jnlp"><img class="alignnone size-full wp-image-642" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<p><span id="more-1011"></span>XShelfView (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/controls/test/org/jfxtras/scene/control/XShelfViewDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XShelfViewDemo.jnlp"><img class="alignnone size-full wp-image-1082" title="JFXtras Shelf Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/shelf1.png" alt="" width="574" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XShelfViewDemo.jnlp"><img class="alignnone size-full wp-image-642" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<p>XPicker (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/controls/test/org/jfxtras/scene/control/XPickerDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XPickerDemo.jnlp"><img class="alignnone size-full wp-image-1083" title="JFXtras XPicker Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/xpicker.png" alt="" width="640" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XPickerDemo.jnlp"><img class="alignnone size-full wp-image-642" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<h4>Advanced Layouts</h4>
<p>The JFXtras layouts include the XGrid, XMigLayout, and Resizable versions of Stack, HBox, and VBox.  All of these layouts support dynamic animation and a powerful defaults system.  The JFXtras XGrid has been contributed back to Oracle and will be included in the JavaFX 1.3 release.</p>
<p>XGrid (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/common/test/org/jfxtras/scene/layout/XGridEricDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XGridEricDemo.jnlp"><img class="alignnone size-full wp-image-1088" title="JFXtras Grid Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/grid.png" alt="" width="626" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XGridEricDemo.jnlp"><img class="alignnone size-full wp-image-642" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<h3>Wipe Library</h3>
<p>Wipe transitions including: blind, fade-out, fade-reveal, fade, fade-zoom, flip-180, reveal, shape, slide-over, slide, and swing-in as featured in Simon Morris&#8217; <a href="http://www.manning.com/morris/">JavaFX in Action</a> book.</p>
<p>Wide Demo (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/common/test/org/jfxtras/animation/wipe/WipeDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/WipeDemo.jnlp"><img class="alignnone size-full wp-image-1089" title="JFXtras Wipe Library" src="http://steveonjava.com/wp-content/uploads/2010/04/wipe.png" alt="" width="528" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/WipeDemo.jnlp"><img class="alignnone size-full wp-image-642" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<h4>Shapes</h4>
<p>JFXtras includes a wide selection of skinnable shapes including: Almond, Arrow, Asterisk, Astroid, Balloon, Cross, Donut, ETriangle, Gear, ITriangle, Lauburu, RTriangle, Rays, RegularPolygon, ResizableEllipse, ResizableRectangle, ReuleauxTriangle, RoundPin, Sphere, and Star.</p>
<p>Shapes Demo (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/common/test/org/jfxtras/scene/shape/ShapesDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/ShapesDemo.jnlp"></a><a href="http://jfxtras.org/jfxtras-0.6/ShapesDemo.jnlp"><img class="size-full wp-image-1056 alignnone" title="JFXtras Shapes Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/shape-demo2.png" alt="" width="367" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/ShapesDemo.jnlp"><img class="size-full wp-image-642  alignnone" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<h4>Borders</h4>
<p>We also have a large set of skinnable borders including: bevel, ellipse, empty, etched, frame, image, line, metallic, pipe, raised, rounded, shape, soft, and titled.</p>
<p>Borders Demo (<a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.core/tags/release-0.6/common/test/org/jfxtras/scene/border/XGridBordersDemo.fx">browse demo source</a>)</p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XGridBordersDemo.jnlp"></a><a href="http://jfxtras.org/jfxtras-0.6/XGridBordersDemo.jnlp"><img class="alignnone size-full wp-image-1057" title="JFXtas Borders Demo" src="http://steveonjava.com/wp-content/uploads/2010/04/borders-demo1.png" alt="" width="636" height="120" /></a></p>
<p><a href="http://jfxtras.org/jfxtras-0.6/XGridBordersDemo.jnlp"><img class="size-full wp-image-642 alignnone" title="webstartsmall2" src="http://steveonjava.com/wp-content/uploads/2009/10/webstartsmall2.gif" alt="" width="88" height="34" /></a></p>
<h4>And a Whole Lot More</h4>
<p>Here are some of the other features JFXtras has to offer:</p>
<ul>
<li>XStore Data Storage &#8211; Simple persistence of JavaFX primitives and sequences with defaults,  auto-save, and save-on-exit.</li>
<li>Asynchronous JavaFX Support (for experts only) &#8211; Allows invocation  of JavaFX code off the EDT either via a SwingWorker-style callback or a  set of closure-driven primitives.</li>
<li>Swing Integration &#8211; Via the original SceneToJComponent wrapper or  the new, easier to use, JXScene class.</li>
<li>Custom Cursors and Paints &#8211; Allows you to use <a href="http://today.java.net/pub/a/today/2009/07/14/custom-cursors-javafx.html">custom cursors</a> and <a href="http://today.java.net/article/2009/07/27/introducing-custom-paints-javafx"> custom paints</a> within your JavaFX application via a special Toolkit as featured in Jeff Friesen&#8217;s articles.</li>
<li>Interpolatable and HSB Gradients &#8211; Ever wanted to animate a color?   This is the perfect solution, complete with support for an HSB color  palette.</li>
<li>Bindable XMap &#8211; A simplified map syntax for use with JavaFX that  includes bind support on gets.</li>
<li>Image Caching &#8211; An image caching library that supports high  performance, asynchronous loading and sizing of images from URLs.</li>
</ul>
<h3>Documentation</h3>
<p>The full API is documented online here:</p>
<p><a href="http://jfxtras.googlecode.com/svn/site/javadoc/release-0.6/index.html">http://jfxtras.googlecode.com/svn/site/javadoc/release-0.6/index.html</a></p>
<p>We also have a new documentation wiki on the JFXtras website.  Please  browse it for ideas on how to use the JFXtras components and feel free  to comment or contribute back to the docs to make them better:</p>
<p><a href="http://jfxtras.org/portal/core"><img class="alignnone size-full wp-image-1095" title="JFXtras Documentation Wiki" src="http://steveonjava.com/wp-content/uploads/2010/04/wiki1.png" alt="" width="500" height="136" /></a></p>
<p><a href="http://jfxtras.org/portal/core">http://jfxtras.org/portal/core</a></p>
<h3>Migrating from Previous Releases</h3>
<p>In order to avoid name collisions with the built-in JavaFX classes, we have undergone a fairly aggressive renaming strategy on all scene graph classes.  If you have been using an earlier version of JFXtras, you will have to rename your usages by pre-pending an X before the class name.  Going forward this will reduce the likelihood of collisions with JavaFX built-in classes and make it easier to visually inspect code that uses a mix of JavaFX and JFXtras classes.</p>
<p>Some other migration changes that you need to take into account include:</p>
<ul>
<li>The fill layout constraint has been changed from an enumeration to two booleans (hfill, vfill).</li>
<li>The Grid border feature has been replaced with a general purpose margin on XLayoutInfo</li>
<li>The Deck class has been renamed to XStack</li>
<li>All the layout classes starting with Resizable* have changed to X* (when in doubt try the JavaFX class name prepended with an X)</li>
</ul>
<h3>JFXtras Test</h3>
<p>There is also a matching release of JFXtras Test so you can do behavior-driven development with a declarative JavaFX syntax.  We use this for all the unit tests in JFXtras and encourage you to do the same on your projects.  Some of the new JFXtras Test features include:</p>
<ul>
<li>Asynchronous Testing Support &#8211; Test background processes such as HttpRequests</li>
<li>JUnit Integration &#8211; Integrate JFXtras Test in your Ant or Maven build using a standard JUnit runner</li>
</ul>
<p><a href="http://code.google.com/p/jfxtras/downloads/list">Download</a> it and give it at try!</p>
<h3>Credits</h3>
<p>Some of the folks I would like to thank for making this release possible include:</p>
<ul>
<li>Jim Weaver for inspiring me to start this project and being a great mentor.</li>
<li>Keith Combs for assisting me on various bits and putting up with my perfectionism on everything.</li>
<li>Jim Clarke for being the most productive JavaFX coder at Oracle who is not on the core team.</li>
<li>Dean Iverson for bringing MigLayout to JFXtras and being the clean code guru (see his article on <a href="http://jfxtras.org/portal/core/-/wiki/JFXtras/Style_guidelines">code conventions</a>).</li>
<li>David Armitage for contributing some great controls and making sure our documentation was top notch.</li>
<li>Tom Eugelink for being our voice of sanity on the mailing list and being polite about my past mistakes in misattributing his work.</li>
<li>Pedro Duque Vieira for making the world a safer place for Swing developers with JXScene.</li>
<li>John Freeman for contributing a very high quality JTable wrapper that I always underpromote.</li>
<li>And also: Peter Pilgrim, Christophe DUFOUR, Joshua Marinacci, Simon Morris, Andres Almiray, Jeff Friesen, Andrew Hughes, and Liu Huasong.</li>
</ul>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/jfxtras-0-6-final-released/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>SvJugFx Streamed Live with Richard Bair</title>
		<link>http://steveonjava.com/svjugfx-live-stream-with-richard-bair/</link>
		<comments>http://steveonjava.com/svjugfx-live-stream-with-richard-bair/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 10:48:26 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[SvJugFx]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[richard bair]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=736</guid>
		<description><![CDATA[


		
		
		
		For those of you who don&#8217;t know, SvJugFx stands for the Silicon Valley JavaFX Users Group.  We will be holding our very first meeting this coming Wednesday with a live, streamed presentation from the world renowned Richard Bair (who is now infamous for divulging JavaFX secrets at Devoxx).
Yes, I said streamed live&#8230;  for those of [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fsvjugfx-live-stream-with-richard-bair%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22SvJugFx%20Streamed%20Live%20with%20Richard%20Bair%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/svjugfx-live-stream-with-richard-bair/";
		var dzone_title = "SvJugFx Streamed Live with Richard Bair";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>For those of you who don&#8217;t know, SvJugFx stands for the Silicon Valley JavaFX Users Group.  We will be holding our very first meeting this coming Wednesday with a <strong>live</strong>, <strong>streamed </strong>presentation from the world renowned Richard Bair (who is now infamous for divulging <a href="http://learnjavafx.typepad.com/weblog/2009/12/javafx-13-leakage-at-devoxx-and-%C3%B8redev.html">JavaFX secrets at Devoxx</a>).</p>
<div id="attachment_740" class="wp-caption alignnone" style="width: 260px"><a href="http://steveonjava.files.wordpress.com/2009/12/bair.png"><img class="size-full wp-image-740" title="bair" src="http://steveonjava.files.wordpress.com/2009/12/bair.png" alt="" width="250" height="208" /></a><p class="wp-caption-text">Richard Bair Presenting at Devoxx 2009</p></div>
<p>Yes, I said <strong>streamed live</strong>&#8230;  for those of you who are not fortunate enough to live in Silicon Valley, you can still participate in realtime by doing the following:</p>
<ol>
<li>Sign-up for the SvJugFx meetup group.  This is the primary communication vehicle we will use to announce last-minute changes:<br />
<a href="http://www.svjugfx.org/">http://www.svjugfx.org/</a><br />
(Note: Everyone can sign up for the group, but please only RSVP for the event if you are physically attending)</li>
<li>For the video feed, please go to the following ustream channel:<a href="http://www.ustream.tv/channel/silicon-valley-javafx-user-group">
<p>http://www.ustream.tv/channel/silicon-valley-javafx-user-group</a></li>
<li>And to participate, please log on to Google Moderator at the following URL:<a href="http://moderator.appspot.com/#16/e=d528e">
<p>http://moderator.appspot.com/#16/e=d528e</a></li>
</ol>
<p>The in-person meeting will start on: <strong>Wednesday at 6PM PST</strong><br />
The online streaming will start at latest by: <strong>7PM PST </strong>(possibly earlier)</p>
<p>Please leave enough time to login on both sites and test your internet and video playback capabilities.  You will be able to watch the live video stream on ustream and respond with your own questions (as well as vote other participant&#8217;s questions up and down) via Google Moderator, which we will be monitoring during the presentation.</p>
<p>This is the first time we are trying this format, so we apologize in advance for technical glitches or issues that we are sure will arise.</p>
<blockquote><p>&#8220;Success is the ability to go from failure to failure without losing your enthusiasm.&#8221;</p>
<p style="text-align:right;">&#8211;Winston Churchill</p>
</blockquote>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/svjugfx-live-stream-with-richard-bair/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JFXtras 0.6 Preview Available!</title>
		<link>http://steveonjava.com/jfxtras-0-6-preview-available/</link>
		<comments>http://steveonjava.com/jfxtras-0-6-preview-available/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:16:48 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[jfxtras]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[layouts]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=714</guid>
		<description><![CDATA[


		
		
		
		Happy Thanksgiving from the JFXtras team!  While everyone else is celebrating the holiday with friends and family, we are going to be busy finishing up the 0.6 release.
In case you have some spare time between meals and celebration, you can join in the fun too by trying out the JFXtras 0.6 preview release, which can [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fjfxtras-0-6-preview-available%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JFXtras%200.6%20Preview%20Available%21%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/jfxtras-0-6-preview-available/";
		var dzone_title = "JFXtras 0.6 Preview Available!";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>Happy Thanksgiving from the JFXtras team!  While everyone else is celebrating the holiday with friends and family, we are going to be busy finishing up the 0.6 release.</p>
<div class="wp-caption alignnone" style="width: 510px"><a href="http://www.flickr.com/photos/voght/2441818832/"><img class=" " title="Happy Thanksgiving!" src="http://farm4.static.flickr.com/3141/2441818832_aa89a2ffa2.jpg" alt="" width="500" height="334" /></a><p class="wp-caption-text">Wild turkey in LaConner, WA taken by stevevoght</p></div>
<p>In case you have some spare time between meals and celebration, you can join in the fun too by trying out the JFXtras 0.6 preview release, which can be downloaded here:</p>
<p><a href="http://code.google.com/p/jfxtras/downloads/list">http://code.google.com/p/jfxtras/downloads/list</a></p>
<p>There is a whole slew of new functionality including the following under Common:</p>
<ul>
<li>Layouts &#8211; Changes to the Grid API in preparation for inclusion in the JavaFX Soma release, and also added animation support to all the layouts.</li>
<li>Sphere &#8211; Pseudo 3D sphere created for the <a href="http://jfxstudio.wordpress.com/2009/07/14/fun-with-spheres/">Groovy showdown</a> with Andrey Almiray.</li>
<li>Gear &#8211; New shape from Steve Bixby.</li>
<li>ManualResizableRectangle &#8211; Very useful shape from <a href="http://jfxstudio.wordpress.com/2009/08/15/844/">Yannick&#8217;s post</a>.</li>
<li>JXScene &#8211; Pedro&#8217;s improved API for Swing integration.</li>
<li>PaintUtil, HSBColor, new gradients &#8211; Liu&#8217;s magic paint classes</li>
<li>Custom Paints &#8211; From Jeff Friesen&#8217;s excellent article on <a href="http://today.java.net/pub/a/today/2009/07/30/javafx-custom-paints.html">Custom Paints</a>.</li>
<li>Custom Cursors &#8211; From Jeff Friesen&#8217;s excellent article on <a href="http://today.java.net/pub/a/today/2009/07/14/custom-cursors-javafx.html">Custom Cursors</a>.</li>
<li>Wipe Library &#8211; A transition library from Simon Morris&#8217; <a href="http://www.manning.com/morris/">JavaFX in Action</a> book.</li>
<li>XMap &#8211; A bindable Map implementation for JavaFX.</li>
<li>XStore &#8211; David Armitage&#8217;s simple persistence for JavaFX variables using dependency injection.</li>
<li>ImageCache &#8211; Caching of JavaFX images for building high performance applications contributed by <a href="http://www.joshondesign.com/">Joshua Marinacci</a>.</li>
<li>XEDT &#8211; Simplified event thread mangement for JavaFX infrastructure classes (Warning: Use the JavaFX Task API instead unless you know exactly what you are doing)</li>
</ul>
<p>And the rest under a new Controls jar:</p>
<ul>
<li>XTableView &#8211; I am still working on this, but it is very useful already as demonstrated by Jim Weaver&#8217;s <a href="http://learnjavafx.typepad.com/weblog/2009/09/introducing-speedreaderfx-powered-by-javafx-and-jfxtras.html">SpeedReaderFX </a>application.</li>
<li>XTreeView &#8211; Jim Clarke&#8217;s Tree Control.</li>
<li>XCalendarPicker &#8211; Tom&#8217;s excellent <a href="http://jfxtras.org/portal/core/-/wiki/JFXtras/XCalendarPicker">calendar control</a>.</li>
<li>XPane &#8211; A titled region with rounded corners developed by Dean Iverson.</li>
<li>XPicker &#8211; David Armitage did some great work on this&#8230;  Check out his demo on the <a href="http://jfxtras.org/portal/core/-/wiki/JFXtras/XPicker">JFXtras website</a>.</li>
<li>XShelfView &#8211; A high performance Display Shelf control implementation with support for reflection, titles, and a scrollbar as showcased on <a href="http://jfxstudio.wordpress.com/2009/07/05/jfxtras-shelf-control/">JFXStudio</a>.</li>
<li>XSpinnerWheel &#8211; A prize spinner wheel that makes use of pseudo 3D effects as showcased in the <a href="http://jfxtras.org/portal/samples/-/journal_content/56/10128/32110">JUG Prize Spinner </a>application.</li>
<li>XMenu &#8211; Pure JavaFX Menu developed by <a href="http://jonathangiles.net/blog/?p=566">Jonathan Giles </a>(this version will be replaced by the official Sun Menu control when it becomes available).</li>
<li>XPasswordBox &#8211; Control from Liu to create a password field.</li>
<li>XMultiLineTextBox &#8211; Till&#8217;s control for editing multiple lines of text.</li>
<li>XSwingTable &#8211; From John Freeman, this gives you all the power of a JTable directly from JavaFX code.</li>
</ul>
<p>For this release we decided to go with a new naming convention to differentiate our classes from the built-in JavaFX layouts and controls.  Most of the classes are now prefixed with an &#8220;X&#8221; for jfXtras.  This will make migration slightly more painful now, but prevent future collisions and name changes down the road.</p>
<p>There is also a new version of JFXtras Test.  This is the final version that will be released under this name (it is being <a href="http://steveonjava.com/2009/08/02/jfxtras-test-and-fest-unite/">merged with FEST-JavaFX</a>), but it required an update to work with the new naming convention and to add some much-needed JUnit Runner support (see my <a href="http://steveonjava.com/2009/11/24/devoxx-conference-session-slides/">Devoxx Conference Presentation</a> for more details).</p>
<p>I probably missed a few things along the way here.  You can find the definitive list in the online JavaFXDoc:</p>
<p><a href="http://jfxtras.googlecode.com/svn/site/javadoc/release-0.6/index.html">http://jfxtras.googlecode.com/svn/site/javadoc/release-0.6/index.html</a></p>
<p>Please feel free to download the jars and give the preview release a try.  We are putting the finishing touches on several of the layouts and controls, so expect a final release in a week or so.</p>
<p>Happy Thanksgiving!</p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/jfxtras-0-6-preview-available/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Announcing the JavaFX Twitter Group</title>
		<link>http://steveonjava.com/announcing-the-javafx-twitter-group/</link>
		<comments>http://steveonjava.com/announcing-the-javafx-twitter-group/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 03:42:56 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter group]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=681</guid>
		<description><![CDATA[


		
		
		
		JavaFX has a very active Twitter community.  Some have even said that the best way to get help with your JavaFX app is to ask on Twitter first.  But how do you know who to follow?
To make it easy to hook in to the JavaFX Twitter community, I put together a JavaFX Twitter Group using [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fannouncing-the-javafx-twitter-group%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Announcing%20the%20JavaFX%20Twitter%20Group%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/announcing-the-javafx-twitter-group/";
		var dzone_title = "Announcing the JavaFX Twitter Group";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>JavaFX has a very active Twitter community.  Some have even said that the best way to get help with your JavaFX app is to ask on Twitter first.  But how do you know who to follow?</p>
<p>To make it easy to hook in to the JavaFX Twitter community, I put together a JavaFX Twitter Group using the new group support.  To subscribe, simply follow <a href="http://twitter.com/steveonjava/javafx">@steveonjava/javafx</a>:</p>
<div id="attachment_682" class="wp-caption aligncenter" style="width: 310px"><a href="http://twitter.com/steveonjava/javafx"><img class="size-full wp-image-682 " title="javafxgroup" src="http://steveonjava.files.wordpress.com/2009/11/javafxgroup.png" alt="javafxgroup" width="300" height="357" /></a><p class="wp-caption-text">The JavaFX Twitter Group Stream</p></div>
<p>So who will you find on this list?  Some big names in the JavaFX Community, including:</p>
<ul>
<li>Richard Bair, Joshua Marinacci, and Jonathan Giles from the JavaFX team</li>
<li>JavaFX book authors such as Jim Weaver, Weiqi Gao, Dean Iverson, and Simon Morris</li>
<li>JavaFX evangelists such as Maijaliisa Burkert, and Anatoli Fomenko</li>
<li>JavaFX early adopters such as Peter Pilgrim, Sten Karl, Steven Herod, Carl Dea, William Antonio, Pär Dahlberg, Mark Macumber, Tom, Enrique Garcia, Eric Wendelin, Hideki Kobayashi, and many, many others</li>
</ul>
<p>I tried my best to dig in a few levels deep on the twitter lists of folks I know are active in the JavaFX community so I would get pretty good coverage.  The basic criteria I used for selecting folks was percentage of tweets dedicated to JavaFX discussion.  Most of the folks on the list talk about JavaFX in 50% or more of their tweets, although there are a few notable exceptions (ahem..  Steven Herod).</p>
<p>Please follow the new <a href="http://twitter.com/steveonjava/javafx">JavaFX Twitter Group</a>, and if you would like to be followed by the list, tweet me a direct message <a href="http://twitter.com/steveonjava/">@steveonjava</a>.</p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/announcing-the-javafx-twitter-group/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First SvJugFx Meetup &#8211; JavaFX with Richard Bair</title>
		<link>http://steveonjava.com/first-svjugfx-meetup-javafx-with-richard-bair/</link>
		<comments>http://steveonjava.com/first-svjugfx-meetup-javafx-with-richard-bair/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 21:20:34 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[SvJugFx]]></category>
		<category><![CDATA[jug]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=662</guid>
		<description><![CDATA[


		
		
		
		I am pleased to announce the formation of a new Silicon Valley JavaFX User Group.  While this group is rooted in the SF Bay Area, we also plan to make it easy for remote attendees to watch and participate by doing live streaming of our meetings via USTREAM and allowing remote participation through Google Moderator.
For [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Ffirst-svjugfx-meetup-javafx-with-richard-bair%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22First%20SvJugFx%20Meetup%20-%20JavaFX%20with%20Richard%20Bair%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/first-svjugfx-meetup-javafx-with-richard-bair/";
		var dzone_title = "First SvJugFx Meetup &#8211; JavaFX with Richard Bair";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>I am pleased to announce the formation of a new Silicon Valley JavaFX User Group.  While this group is rooted in the SF Bay Area, we also plan to make it easy for remote attendees to watch and participate by doing live streaming of our meetings via USTREAM and allowing remote participation through Google Moderator.</p>
<p><a href="http://www.svjugfx.org/calendar/11620691/?eventId=11620691&amp;action=detail"><img class="alignright size-full wp-image-665" title="richBair" src="http://steveonjava.files.wordpress.com/2009/10/richbair.gif" alt="richBair" width="100" height="110" /></a>For the <a href="http://www.svjugfx.org/calendar/11620691/?eventId=11620691&amp;action=detail">initial launch meeting</a> on December 9th we are fortunate to have Richard Bair as the presenter.  For those of you who don&#8217;t know him, he is a JavaFX lead developer, JavaOne Rockstar Speaker, has an <a href="http://fxexperience.com/">awesome blog</a>, and will be talking about JavaFX at <a href="http://devoxx.com/display/DV09/Home">Devoxx</a> (where I am also presenting).  He is also a great sparring partner on almost any technical topic (speaking from experience), so Q&amp;A should be lots of fun!</p>
<p>The <a href="http://www.svjugfx.org/">SvJugFx Homepage</a> is on Meetup.com where you can sign up to become a member and register for the December 9th session with Richard:</p>
<p style="text-align:center;"><a href="http://www.svjugfx.org/"><img class="aligncenter size-full wp-image-664" title="svjugfx" src="http://steveonjava.files.wordpress.com/2009/10/svjugfx.jpg" alt="svjugfx" width="200" height="181" /></a></p>
<p>This is the first JavaFX User Group in the U.S. to my knowledge.  Although Japan has the title of world&#8217;s first JavaFX User Group as reported on <a href="http://learnjavafx.typepad.com/weblog/javafx-user-groups/">Jim Weaver&#8217;s blog</a>.</p>
<p style="text-align:center;"><a href="http://javafx.jp/"><img class="aligncenter size-full wp-image-663" title="javafxUsersGroup" src="http://steveonjava.files.wordpress.com/2009/10/javafxusersgroup.png" alt="javafxUsersGroup" width="509" height="102" /></a></p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/first-svjugfx-meetup-javafx-with-richard-bair/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WidgetFX 1.2.4 Released &#8211; Happy Halloween!</title>
		<link>http://steveonjava.com/widgetfx-1-2-4-released-happy-halloween/</link>
		<comments>http://steveonjava.com/widgetfx-1-2-4-released-happy-halloween/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 06:05:47 +0000</pubDate>
		<dc:creator>steveonjava</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[widgetfx]]></category>
		<category><![CDATA[halloween]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[webstart]]></category>

		<guid isPermaLink="false">http://steveonjava.com/?p=653</guid>
		<description><![CDATA[


		
		
		
		We have an early Halloween treat from the WidgetFX team&#8230; a new software release!  The 1.2.4 version of WidgetFX includes some new functionality and fixes a number of issues that our user community has requested.
New SlideShow Widget
The SlideShow widget was completely rewritten from scratch for this release.  It makes use of the pre-release JFXtras XShelf [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: left;margin-right: 0.75em;; margin-top: 4px; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fsteveonjava.com%252Fwidgetfx-1-2-4-released-happy-halloween%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22WidgetFX%201.2.4%20Released%20-%20Happy%20Halloween%21%22%20%7D);"></div>
<!--S-ButtonZ 1.1.5 Start--><div style="float: left; width: 42px; padding-right: 10px; margin: 0 10px 0 0;">
		<script type="text/javascript">
		<!--
		var dzone_url = "http://steveonjava.com/widgetfx-1-2-4-released-happy-halloween/";
		var dzone_title = "WidgetFX 1.2.4 Released &#8211; Happy Halloween!";
		var dzone_style = "1";
		var dzone_blurb = "";
		//-->
		</script>
		<script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script></div><!--S-ButtonZ 1.1.5 End--><p>We have an early Halloween treat from the WidgetFX team&#8230; a new software release!  The 1.2.4 version of WidgetFX includes some new functionality and fixes a number of issues that our user community has requested.</p>
<h2>New SlideShow Widget</h2>
<p>The SlideShow widget was completely rewritten from scratch for this release.  It makes use of the pre-release <a href="http://jfxtras.org/portal/core/xshelf">JFXtras XShelf</a> component for transitions and paging forward and back.  Simply click on the side images to scroll forwards and backwards through your library.</p>
<p><a rel="nofollow" href="http://widgetfx.org/dock/launch.jnlp"><img src="http://widgetfx.googlecode.com/svn/site/images/WidgetFX-launch-icon.png" alt="" /></a></p>
<p>Here is a picture of the new SlideShow widget in action, paging through a set of Halloween pictures (courtesy of Keith Combs):</p>
<div id="attachment_654" class="wp-caption aligncenter" style="width: 510px"><a href="http://steveonjava.files.wordpress.com/2009/10/halloweenslideshow.png"><img class="size-full wp-image-654" title="HalloweenSlideShow" src="http://steveonjava.files.wordpress.com/2009/10/halloweenslideshow.png" alt="Happy Halloween from the WidgetFX Team!" width="500" height="390" /></a><p class="wp-caption-text">Happy Halloween from the WidgetFX Team!</p></div>
<p>If you are enough of an Anime buff to know which series these pictures came from, be sure to leave a comment below!</p>
<h2>Auto-start on 64-Bit and International Systems</h2>
<div id="attachment_656" class="wp-caption alignright" style="width: 178px"><a href="http://translate.google.com/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;u=http%3A%2F%2Fwww.atmarkit.co.jp%2Ffjava%2Fspecial%2Fwidgetfx01%2Fwidgetfx01_1.html&amp;sl=ja&amp;tl=en&amp;history_state0="><img class="size-full wp-image-656 " title="WidgetFX-Japan" src="http://steveonjava.files.wordpress.com/2009/10/widgetfx-japan.png" alt="WidgetFX-Japan" width="168" height="200" /></a><p class="wp-caption-text">Japanese WidgetFX Article</p></div>
<p>The link that gets created to restart WidgetFX now picks up the correct JVM version on 64-bit systems and even handles paths properly for non-US versions of Windows.  This is very important for our friends outsides the US, such as the growing Japanese WidgetFX community.  As an example, check out this <a href="http://translate.google.com/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;u=http%3A%2F%2Fwww.atmarkit.co.jp%2Ffjava%2Fspecial%2Fwidgetfx01%2Fwidgetfx01_1.html&amp;sl=ja&amp;tl=en&amp;history_state0=">translated Japanese article</a> in @IT by long-time WidgetFX developer, Hideki Kobayashi (he is also responsible for the Japanese location of our website).</p>
<p>If you have trouble running WidgetFX on a 64-bit system, make sure you have the 32-bit JVM installed on your machine.  This can be installed side-by-side with a 64-bit JVM, and is required for JavaFX applications to run.</p>
<h2>Certificate Update</h2>
<p><img class="alignright size-full wp-image-657" title="java-web-start-application" src="http://steveonjava.files.wordpress.com/2009/10/java-web-start-application.png" alt="java-web-start-application" width="237" height="237" />Our application signing certificate expired, producing warnings upon launch of WidgetFX.  We have generated a new certificate, which should be good for another year.</p>
<p>If you noticed any problems with launching WidgetFX this week, please try again.  We ran into a Webstart bug where it did not correctly update the jar file after the certificate upgrade causing a verification error on start-up.  We were able to fix this by doing nothing but revving the version (missing some great opportunities for bad puns on the intermediate 1.2.3 version number).</p>
<h2>And Some Bugfixes&#8230;</h2>
<p>We are always fixing small bugs or issues as they come up.  One in particular was an infinite loop during start-up caused by some specific network settings.</p>
<p>If you notice any issues with WidgetFX, <a href="http://code.google.com/p/widgetfx/issues/list">let us know</a> so we can make it better!</p>
<div style="clear:both;">&nbsp;</div>
]]></content:encoded>
			<wfw:commentRss>http://steveonjava.com/widgetfx-1-2-4-released-happy-halloween/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
