<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
    <title>Jim Weaver’s Rich-Client Java Blog</title>
    
    <link rel="alternate" type="text/html" href="http://learnjavafx.typepad.com/weblog/" />
    <id>tag:typepad.com,2003:weblog-1470928</id>
    <updated>2013-05-03T10:23:04-04:00</updated>
    <subtitle>Leveraging JavaFX, Visage, Java and HTML5 for Great User Experiences</subtitle>
    <generator uri="http://www.typepad.com/">TypePad</generator>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/JamesWeaversJavafxBlog" /><feedburner:info uri="jamesweaversjavafxblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>JamesWeaversJavafxBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
        <title>Interview with Thierry and Yolande at Devoxx/France 2013</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/YTyUnw0g_v4/interview-with-thierry-and-yolande-at-devoxxfrance-2013.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2013/05/interview-with-thierry-and-yolande-at-devoxxfrance-2013.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017eeaca6f7b970d</id>
        <published>2013-05-03T10:23:04-04:00</published>
        <updated>2013-05-03T10:23:04-04:00</updated>
        <summary>One of the great joys of being a Java Technology Ambassador is to interact with the global Java/JavaFX development community. Here is an interview that Yolande Poirier conducted with Thierry Wasylczenko and me after our co-presentation at Devoxx/France in March 2013. Regards, Jim Weaver</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Java" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX - General" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;One of the great joys of being a Java Technology Ambassador is to interact with the global Java/JavaFX development community.  Here is an interview that Yolande Poirier conducted with Thierry Wasylczenko and me after our co-presentation at Devoxx/France in March 2013.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;iframe frameborder="0" height="281" src="http://www.youtube.com/embed/-Mob9VNsaJo?feature=oembed" width="500"&gt;&lt;/iframe&gt; &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Jim Weaver&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=YTyUnw0g_v4:hBKjz_oq1nU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=YTyUnw0g_v4:hBKjz_oq1nU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=YTyUnw0g_v4:hBKjz_oq1nU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=YTyUnw0g_v4:hBKjz_oq1nU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=YTyUnw0g_v4:hBKjz_oq1nU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=YTyUnw0g_v4:hBKjz_oq1nU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=YTyUnw0g_v4:hBKjz_oq1nU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/YTyUnw0g_v4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2013/05/interview-with-thierry-and-yolande-at-devoxxfrance-2013.html</feedburner:origLink></entry>
    <entry>
        <title>Mary had a little λ - Using Java 8 Lambda Expressions for Event Handling</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/6bFnak2mmQs/mary-had-a-little-%CE%BB.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2013/02/mary-had-a-little-%CE%BB.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017c36649503970b</id>
        <published>2013-02-14T18:12:59-05:00</published>
        <updated>2013-02-15T00:59:39-05:00</updated>
        <summary>With continued progress on JDK 8 efforts, I thought we'd explore some of its features together over the next few blog posts. Features added to Java in JDK 8 include: Nashorn JavaScript engine Date &amp; Time API Bulk data operations for collections Lambda expressions and virtual extension methods The first feature I'd like to touch on in this series is...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JDK 8" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Lambda expressions" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Mary had a little λ" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017d4093166a970c-pi" style="float: right;"&gt;&lt;img alt="IStock_000005665280XSmall" class="asset  asset-image at-xid-6a00e54f133d698834017d4093166a970c" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017d4093166a970c-320wi" style="margin: 0px 0px 5px 5px;" title="IStock_000005665280XSmall"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;With continued progress on &lt;a href="http://openjdk.java.net/projects/jdk8/" target="_blank" title="JDK Project"&gt;JDK 8&lt;/a&gt; efforts, I thought we'd explore some of its features together over the next few blog posts.  Features added to Java in JDK 8 include:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="http://openjdk.java.net/jeps/174" target="_blank" title="Nashorn JavaScript engine"&gt;Nashorn JavaScript engine&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="http://openjdk.java.net/jeps/150" target="_blank" title="Date &amp;amp; Time API"&gt;Date &amp;amp; Time API&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="http://openjdk.java.net/jeps/107" target="_blank" title="Bulk data operations for collections"&gt;Bulk data operations for collections&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="http://openjdk.java.net/jeps/126" target="_blank" title="Lambda expressions and virtual extension methods"&gt;Lambda expressions and virtual extension methods&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The first feature I'd like to touch on in this series is &lt;em&gt;lambda expressions&lt;/em&gt;, also known as &lt;em&gt;closures&lt;/em&gt;.  A lambda expression is a function that may have parameters, an expression or block of code, optionally returning a value.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;One very convenient use of lambda expressions is to simplify event handling.  Typically, event handling is implemented with the help of an &lt;em&gt;anonymous inner class&lt;/em&gt;, as shown in the following code snippet.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/63ffc2064e1733732a83.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"&gt;The anonymous inner class shown above is of type &lt;span style="font-family: courier new,courier;"&gt;EventHandler&lt;/span&gt;, which has one abstract method, named &lt;span style="font-family: courier new,courier;"&gt;handle&lt;/span&gt;.  Any interface that has exactly one abstract method is known as a &lt;/span&gt;&lt;span style="font-family: arial,helvetica,sans-serif;"&gt;&lt;em&gt;&lt;span style="font-size: 12pt;"&gt;functional interface&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"&gt;, and may be replaced by a lambda expression.  The following code snippet contains a lambda expression that replaces the anonymous inner class in the previous code snippet.  Note that the type of the lambda is inferred by the compiler as &lt;span style="font-family: courier new,courier;"&gt;EventHandler&amp;lt;ActionEvent&amp;gt;&lt;/span&gt; because the &lt;span style="font-family: courier new,courier;"&gt;onAction()&lt;/span&gt; method takes an object of type &lt;span style="font-family: courier new,courier;"&gt;EventHandler&amp;lt;ActionEvent&amp;gt;&lt;/span&gt;.  Furthermore, &lt;span style="font-family: courier new,courier;"&gt;EventHandler&lt;/span&gt; has a single method &lt;span style="font-family: courier new,courier;"&gt;handle()&lt;/span&gt;. Therefore, the lambda expression must be an implementation of the &lt;span style="font-family: courier new,courier;"&gt;handle()&lt;/span&gt; method.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial,helvetica,sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/b1e821c929be44d08cac.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The parameter in this lambda expression must be an &lt;span style="font-family: courier new,courier;"&gt;ActionEvent&lt;/span&gt;, because that is the type specified by the &lt;span style="font-family: courier new,courier;"&gt;handle()&lt;/span&gt; method of the &lt;span style="font-family: courier new,courier;"&gt;EventHandler&lt;/span&gt; interface.  We can therefore simplify this lambda expression further because the parameter type is inferred, as shown in the following snippet.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/de66dc1f118ca0f863d7.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;When a lambda expression has a single parameter and its type is inferred, the parentheses are not required, as shown in the following snippet.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/3d0593cd6a6209235ffb.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Because the block of code in our lambda expression contains only one statement, we can simplify it even further as shown in the following snippet.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/3a49f3c34d5fbe1895d4.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The listing below contains a modified version of the MetronomeTransition example from the &lt;a href="http://ProJavaFX2.com" target="_blank" title="Home page for the Pro JavaFX 2 book, written by James Weaver, Weiqi Gao, Stephen Chin, Dean Iverson, Johan Vos"&gt;Pro JavaFX 2 book&lt;/a&gt;.  Specifically, the event handlers in the listing below use lambda expressions rather than anonyomous inner classes.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;script src="https://gist.github.com/javafxpert/93b685f6b80de6bad558.js"&gt;&lt;/script&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Here's a screenshot of the MetronomeTransition example in action:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017d4110e297970c-pi" style="display: inline;"&gt;&lt;img alt="Metronome-transition-lambdas" class="asset  asset-image at-xid-6a00e54f133d698834017d4110e297970c" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017d4110e297970c-320wi" title="Metronome-transition-lambdas"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;To compile and run this example, you'll need to &lt;a href="http://jdk8.java.net/download.html" target="_blank" title="JDK 8 Early Access Releases"&gt;download an early access release of JDK 8&lt;/a&gt;.  You also may want to &lt;a href="http://wiki.netbeans.org/JDK8" target="_blank" title="NetBeans with preliminary JDK 8 support"&gt;download NetBeans with preliminary JDK 8 support&lt;/a&gt; which is aware of lambda expression syntax.&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Future articles in this JDK 8 series &lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;will dig deeper into lambdas and related topics such as bulk data operations for collections referenced at the beginning of this post.  Have fun experimenting with lambda expressions and JDK 8 in general!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;br&gt;James Weaver&lt;br&gt;james dot weaver at oracle dot com&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=6bFnak2mmQs:JLu0UIAnVZw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=6bFnak2mmQs:JLu0UIAnVZw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=6bFnak2mmQs:JLu0UIAnVZw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=6bFnak2mmQs:JLu0UIAnVZw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=6bFnak2mmQs:JLu0UIAnVZw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=6bFnak2mmQs:JLu0UIAnVZw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=6bFnak2mmQs:JLu0UIAnVZw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/6bFnak2mmQs" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2013/02/mary-had-a-little-%CE%BB.html</feedburner:origLink></entry>
    <entry>
        <title>JavaFX Advent Calendar 2012</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/ORDa0CeoP1A/javafx-advent-calendar-2012.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/12/javafx-advent-calendar-2012.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017d3f23ca77970c</id>
        <published>2012-12-24T12:19:05-05:00</published>
        <updated>2012-12-24T13:25:33-05:00</updated>
        <summary>Just a note of appreciation to the JavaFX community in Japan for creating the JavaFX Advent Calendar, which is a series of JavaFX articles leading up to Christmas 2012. Not only did they create the articles, many of the authors translated their articles in English to share with people like me that don't currently read Japanese. There is a table...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c34f4b975970b-pi" style="float: right;"&gt;&lt;img alt="DukesLab_original" class="asset  asset-image at-xid-6a00e54f133d698834017c34f4b975970b" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c34f4b975970b-320wi" style="margin: 0px 0px 5px 5px;" title="Some sort of Java-enabled time machine? (^_^)"&gt;&lt;/img&gt;&lt;/a&gt;Just a note of appreciation to the JavaFX community in Japan for creating the &lt;a href="http://atnd.org/events/33874" target="_blank" title="JavaFX Advent Calendar 2012"&gt;JavaFX Advent Calendar&lt;/a&gt;, which is a series of JavaFX articles leading up to Christmas 2012.  Not only did they create the articles, many of the authors translated their articles in English to share with people like me that don't currently read Japanese.  There is a table in the JavaFX Advent Calendar page that has links to all of the articles that were translated to English. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;Some of the articles also have JavaFX sample applications, like the sample &lt;a href="http://naruto.hatenablog.com/entry/20121219/1355904641" target="_blank" title="Trying to make the e-book reader in JavaFX"&gt;e-book reader&lt;/a&gt; by a developer whose Twitter name is @tarchan:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee698672d970d-pi" style="display: inline;"&gt;&lt;img alt="Screen Shot 2012-12-24 at 12.14.05 PM" class="asset  asset-image at-xid-6a00e54f133d698834017ee698672d970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee698672d970d-500wi" title="Pro JavaFX 2 book in TwoFace e-book reader"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Here's an &lt;a href="http://blog.livedoor.jp/fukai_yas/archives/21547622.html" target="_blank" title="irof Advent Calendar 23rd"&gt;article and game app&lt;/a&gt; by a developer whose Twitter name is @Fukai_yas that demonstrates why the Earth wasn't destroyed as the Mayan calendar predicted (^_^)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee698a1ed970d-pi" style="display: inline;"&gt;&lt;img alt="1b5b8766-s" border="0" class="asset  asset-image at-xid-6a00e54f133d698834017ee698a1ed970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee698a1ed970d-800wi" title="Game developed in JavaFX"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Please take a look at this series of articles, and join me in thanking these authors and developers for their work!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;Happy Holidays and Merry Christmas,&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;Jim Weaver &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=ORDa0CeoP1A:m-AYE7YjAQc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=ORDa0CeoP1A:m-AYE7YjAQc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=ORDa0CeoP1A:m-AYE7YjAQc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=ORDa0CeoP1A:m-AYE7YjAQc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=ORDa0CeoP1A:m-AYE7YjAQc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=ORDa0CeoP1A:m-AYE7YjAQc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=ORDa0CeoP1A:m-AYE7YjAQc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/ORDa0CeoP1A" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/12/javafx-advent-calendar-2012.html</feedburner:origLink></entry>
    <entry>
        <title>A Brief Look at the JavaFX JFXtras Project</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/MmAwd91IVc4/a-brief-look-at-the-javafx-jfxtras-project.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/12/a-brief-look-at-the-javafx-jfxtras-project.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017d3f037ac2970c</id>
        <published>2012-12-20T19:35:11-05:00</published>
        <updated>2012-12-20T20:56:11-05:00</updated>
        <summary>The JFXtras project, located at JFXtras.org, provides UI controls and other Java objects that developers often need in their day-to-day work, but that are currently missing from JavaFX. This project also serves as a proving ground for controls that may some day make it into the official JavaFX distribution. The brief video below gives you an introduction to the JFXtras...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JFXtras" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee6780ae4970d-pi" style="float: right;"&gt;&lt;img alt="Screen Shot 2012-12-20 at 6.48.00 PM" class="asset  asset-image at-xid-6a00e54f133d698834017ee6780ae4970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee6780ae4970d-320wi" style="margin: 0px 0px 5px 5px;" title="Screen Shot 2012-12-20 at 6.48.00 PM"&gt;&lt;/img&gt;&lt;/a&gt;The JFXtras project, located at &lt;a href="http://JFXtras.org" target="_blank" title="JFXtras.org"&gt;JFXtras.org&lt;/a&gt;, provides UI controls and other Java objects that developers often need in their day-to-day work, but that are currently missing from JavaFX. This project also serves as a proving ground for controls that may some day make it into the official JavaFX distribution.  The brief video below gives you an introduction to the JFXtras project, and demostrates the UI controls and gauges that are currently available.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;iframe frameborder="0" height="480" src="http://www.youtube.com/embed/xjbYU3HrPNk?rel=0" width="640"&gt;&lt;/iframe&gt; &lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Jim Weaver&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=MmAwd91IVc4:InZ_wrlvMRo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=MmAwd91IVc4:InZ_wrlvMRo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=MmAwd91IVc4:InZ_wrlvMRo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=MmAwd91IVc4:InZ_wrlvMRo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=MmAwd91IVc4:InZ_wrlvMRo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=MmAwd91IVc4:InZ_wrlvMRo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=MmAwd91IVc4:InZ_wrlvMRo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/MmAwd91IVc4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/12/a-brief-look-at-the-javafx-jfxtras-project.html</feedburner:origLink></entry>
    <entry>
        <title>Q: Are We Not Men? A: We Are Devoxxians!</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/D0CtUovW4w4/q-are-we-not-men-a-we-are-devoxxians.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/10/q-are-we-not-men-a-we-are-devoxxians.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017c32a05c46970b</id>
        <published>2012-10-18T19:40:11-04:00</published>
        <updated>2012-10-29T09:53:14-04:00</updated>
        <summary>You may remember the post-punk/new wave group from the '70s known as Devo. If so, you probably get the reference in the title of this post. According to Wikipedia, Devo's music and stage show mingle kitsch science fiction themes, deadpan surrealist humor, and mordantly satirical social commentary. The group often had a very geeky appearance, as evidenced by the album...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Speaking Engagements" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://en.wikipedia.org/wiki/File:DevoFreedomofChoice.jpg" style="float: right;" target="_blank"&gt;&lt;img alt="DevoFreedomofChoice" class="asset  asset-image at-xid-6a00e54f133d698834017ee4443db9970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee4443db9970d-320wi" style="margin: 0px 0px 5px 5px;" title="DevoFreedomofChoice"&gt;&lt;/img&gt;&lt;/a&gt;You may remember the post-punk/new wave group from the '70s known as Devo.  If so, you probably get the reference in the title of this post.  According to &lt;a href="http://en.wikipedia.org/wiki/Devo" target="_blank" title="Devo on Wikipedia"&gt;Wikipedia&lt;/a&gt;, Devo's music and stage show mingle kitsch science fiction themes, deadpan surrealist humor, and mordantly satirical social commentary.  The group often had a very geeky appearance, as evidenced by the album cover on the right.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;There is another group of geeks, known as &lt;a href="http://www.devoxx.com/display/DV12/Devoxxians" target="_blank" title="Devoxxians circa 2012"&gt;Devoxxians&lt;/a&gt;, that gather every fall in Belgium to attend a Java programming conference named &lt;a href="http://www.devoxx.com" target="_blank" title="Devoxx website"&gt;Devoxx&lt;/a&gt;.  I'm very happy to say that &lt;a href="http://harmoniccode.blogspot.com" target="_blank" title="Gerrit Grunwald;s blog"&gt;Gerrit Grunwald&lt;/a&gt; and I are two of those Devoxxians, and we'll be presenting a three-hour &lt;a href="http://www.devoxx.com/display/DV12/JavaFX+uni+session" target="_blank" title="JavaFX university session"&gt;university session on JavaFX&lt;/a&gt;.  This session occurs on Tuesday, 13 November 2012 at 1:30pm, and is targeted at Java developers that would like to learn to use the JavaFX APIs that are now included with Java.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Much of this session will draw upon the work in the &lt;a href="http://learnjavafx.typepad.com/weblog/2012/03/pro-javafx-2.html" target="_blank" title="Pro JavaFX 2 book"&gt;Pro JavaFX 2 book&lt;/a&gt; that I co-authored, as well as the UI controls and gauges that Gerrit created for the open source &lt;a href="http://jfxtras.org" target="_blank" title="JFXtras project"&gt;JFXtras project&lt;/a&gt;.  Some of the areas that we'll cover are:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Getting started with JavaFX (Jim)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Creating a user interface (Jim)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Using Scene Builder and FXML (Jim)&lt;br&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Using the JavaFX UI controls (Gerrit)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Creating custom UI controls (Gerrit)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Break&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Leveraging the strengths of JavaFX and HTML5 (Martin and Pär)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Overview of DataFX, calling web services (Johan Vos)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Using Scenic View (Jonathan Giles)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Using JavaFX APIs from Alternative JVM Languages (Stephen Chin)&lt;br&gt;&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Embedded Java/JavaFX on a Raspberry Pi (Angela Caicedo)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Embedded Java/JavaFX on a BeagleBoard (Gerrit)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Wrap-up and additional Q&amp;amp;A (Jim, Gerrit, et al)&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;During the session we'll have brief guest appearances by JavaFX developers such as &lt;a href="http://learnjavafx.typepad.com/weblog/2012/09/martin-and-lewis-and-javaone.html" target="_blank" title="Martin and Lewis at JavaOne 2012?"&gt;Martin Gunnarson and Pär Sikö&lt;/a&gt;, &lt;a href="http://javafx.steveonjava.com" target="_blank" title="Stephen Chin's blog"&gt;Stephen Chin&lt;/a&gt;, Angela Caicedo, Jonathan Giles, Johan Vos, and Jasper Potts.  We'll also be awarding ten copies of the Pro JavaFX 2 book to participative audience members :-)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;We look forward to seeing you in our JavaFX university session at Devoxx!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Regards,&lt;br&gt;Jim Weaver and Gerrit Grunwald &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=D0CtUovW4w4:JweBg_n-KSY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=D0CtUovW4w4:JweBg_n-KSY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=D0CtUovW4w4:JweBg_n-KSY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=D0CtUovW4w4:JweBg_n-KSY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=D0CtUovW4w4:JweBg_n-KSY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=D0CtUovW4w4:JweBg_n-KSY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=D0CtUovW4w4:JweBg_n-KSY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/D0CtUovW4w4" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/10/q-are-we-not-men-a-we-are-devoxxians.html</feedburner:origLink></entry>
    <entry>
        <title>Announcing the JavaFX Community site on Java.net!</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/SKfUCDb07CM/announcing-the-javafx-community-site-on-javanet.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/10/announcing-the-javafx-community-site-on-javanet.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017c326b04b0970b</id>
        <published>2012-10-09T11:32:12-04:00</published>
        <updated>2012-10-09T11:32:12-04:00</updated>
        <summary>Community activity surrounding JavaFX has been steadily growing, with tweets, blog posts, and projects increasing in number. I'm pleased to announce that there is now a JavaFX community site on Java.net at the following URL: javafxcommunity.com The main purpose of this site is to provide a focal point for the JavaFX community, where relevant blog posts, tweets, and other resources...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&lt;br&gt;&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee40ebd25970d-pi" style="float: right;"&gt;&lt;img alt="JavaFX_Community" class="asset  asset-image at-xid-6a00e54f133d698834017ee40ebd25970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017ee40ebd25970d-320wi" style="margin: 0px 0px 5px 5px;" title="JavaFX_Community"&gt;&lt;/img&gt;&lt;/a&gt;Community activity surrounding JavaFX has been steadily growing, with tweets, blog posts, and projects increasing in number.  I'm pleased to announce that there is now a JavaFX community site on Java.net at the following URL:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&lt;a href="http://javafxcommunity.com" target="_blank" title="JavaFX Community"&gt;javafxcommunity.com&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The main purpose of this site is to provide a focal point for the JavaFX community, where relevant blog posts, tweets, and other resources may be easily found.  &lt;a href="https://twitter.com/hansolo_" target="_blank" title="Gerrit Grunwald on Twitter"&gt;Gerrit Grunwald&lt;/a&gt; and I are the community leaders for this site, and we welcome your feedback on how we can make this JavaFX Community site more useful to you!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;br&gt;Jim Weaver &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=SKfUCDb07CM:0VE-F0ktA2M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=SKfUCDb07CM:0VE-F0ktA2M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=SKfUCDb07CM:0VE-F0ktA2M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=SKfUCDb07CM:0VE-F0ktA2M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=SKfUCDb07CM:0VE-F0ktA2M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=SKfUCDb07CM:0VE-F0ktA2M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=SKfUCDb07CM:0VE-F0ktA2M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/SKfUCDb07CM" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/10/announcing-the-javafx-community-site-on-javanet.html</feedburner:origLink></entry>
    <entry>
        <title>Martin and Lewis at JavaOne 2012?</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/GNtWclxtjsY/martin-and-lewis-and-javaone.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/09/martin-and-lewis-and-javaone.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834017c31c82ff2970b</id>
        <published>2012-09-11T07:24:37-04:00</published>
        <updated>2012-09-11T07:26:25-04:00</updated>
        <summary>Many of the younger readers of this blog haven't heard of the legendary comedy team Martin and Lewis (Dean Martin and Jerry Lewis). The late singer/actor Dean Martin was the straight man of the team, and comedian/actor Jerry Lewis was the comedic foil. Each of the pair were incredibly talented, but when playing off of each other the audience routinely...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX - General" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaOne" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c31c82ee1970b-pi" style="float: right;"&gt;&lt;img alt="Lewis_and_Martin.jpg from the Wikimedia Commons" border="0" class="asset  asset-image at-xid-6a00e54f133d698834017c31c82ee1970b" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c31c82ee1970b-800wi" style="margin: 0px 0px 5px 5px;" title="Lewis_and_Martin.jpg from the Wikimedia Commons"&gt;&lt;/img&gt;&lt;/a&gt;Many of the younger readers of this blog haven't heard of the legendary comedy team &lt;a href="http://en.wikipedia.org/wiki/Martin_and_Lewis" target="_blank" title="Martin and Lewis"&gt;Martin and Lewis&lt;/a&gt; (Dean Martin and Jerry Lewis).  The late singer/actor Dean Martin was the &lt;a href="http://en.wikipedia.org/wiki/Double_act" target="_blank" title="Straight man in a comedy duo"&gt;straight man&lt;/a&gt; of the team, and comedian/actor Jerry Lewis was the comedic &lt;a href="http://en.wikipedia.org/wiki/Foil_(literature)" target="_blank" title="&amp;quot;Foil&amp;quot; explantation from Wikipedia"&gt;foil&lt;/a&gt;.   Each of the pair were incredibly talented, but when playing off of each other the audience routinely doubled over in laughter.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;Although I'm not going to compare &lt;a href="https://oracleus.activeevents.com/connect/speakerDetail.ww?PERSON_ID=CDEA46937C79A787314A8DB2401005A2&amp;amp;tclass=popup" id="10719" target="_blank"&gt;Martin Gunnarsson&lt;/a&gt; and &lt;a href="https://oracleus.activeevents.com/connect/speakerDetail.ww?PERSON_ID=0D24A9FEF63AE8B07CB495B1206E2A45&amp;amp;tclass=popup" id="9867" target="_blank"&gt;Pär Sikö&lt;/a&gt; to Martin and Lewis (the latter never wrote code), Martin and Pär are incredibly funny when playing off of each other during their technical presentations.  Each has won the coveted JavaOne Rockstar award, and it is a real treat to attend their presentations.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;This year at JavaOne 2012, Martin and Pär will deliver a conference session entitled &lt;a href="https://oracleus.activeevents.com/connect/sessionDetail.ww?SESSION_ID=6224" target="_blank" title="JavaFX Mashups conference session"&gt;JavaFX Mashups&lt;/a&gt;.  This session is scheduled on Tuesday, Oct 2 from 1p-2p in the Hilton San Francisco, and has the following description:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;"A mix of content or functionality from two or more Web-based services has become known as a mashup. This presentation takes the mashup concept one step further by mixing Web content and scripts with a JavaFX program, effectively blurring the line between Web and application. This is made possible by the powerful WebView component of JavaFX. The session shows how to display Web content in a JavaFX application and how to set up two-way communications between the Java code and JavaScript code run in WebView. It includes several cool and creative examples based on this technique."&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: medium;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017744a7a2a9970d-pi" style="float: right;"&gt;&lt;img alt="Martin-and-par" class="asset  asset-image at-xid-6a00e54f133d698834017744a7a2a9970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017744a7a2a9970d-250wi" style="width: 240px; margin: 0px 0px 5px 5px;" title="Martin-and-par"&gt;&lt;/img&gt;&lt;/a&gt;I'm really looking forward to attending this presentation in which Martin and Pär will entertain and enlighten us about how JavaFX and Web content play together well.  If you haven't yet registered for JavaOne 2012, you can do so &lt;a href="http://www.oracle.com/javaone/register/additional-packages/index.html" target="_blank" title="Register for JavaOne 2012"&gt;here&lt;/a&gt;!  Hope to see you at JavaOne.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: medium;"&gt;Regards,&lt;br&gt;James Weaver&lt;br&gt;james.weaver @ oracle.com &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=GNtWclxtjsY:cBgDIMq4bH8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=GNtWclxtjsY:cBgDIMq4bH8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=GNtWclxtjsY:cBgDIMq4bH8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=GNtWclxtjsY:cBgDIMq4bH8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=GNtWclxtjsY:cBgDIMq4bH8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=GNtWclxtjsY:cBgDIMq4bH8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=GNtWclxtjsY:cBgDIMq4bH8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/GNtWclxtjsY" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/09/martin-and-lewis-and-javaone.html</feedburner:origLink></entry>
    <entry>
        <title>Best-kept "secrets" surrounding JDK 8</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/B-fnRwsSGM8/best-kept-secrets-surrounding-jdk-89.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/09/best-kept-secrets-surrounding-jdk-89.html" thr:count="1" thr:updated="2012-09-04T13:43:27-04:00" />
        <id>tag:typepad.com,2003:post-6a00e54f133d6988340176178a9cc6970c</id>
        <published>2012-09-04T09:00:00-04:00</published>
        <updated>2012-09-04T12:30:36-04:00</updated>
        <summary>"We dance round in a ring and suppose, but the secret sits in the middle and knows." - Robert Frost The current state, and future plans, for JDK 8 seem to be well-kept secrets, so I'm writing this post to shed some light on the subject. Well-kept "secret" #1: The schedule for upcoming features in JDK 8 builds is posted,...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Java" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JDK 8" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Lambda expressions" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Project Jigsaw" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="Project Lambda" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;em&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&#xD;
&lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c31937dcd970b-pi" style="float: right;"&gt;&lt;img alt="Whispering-secret" border="0" class="asset  asset-image at-xid-6a00e54f133d698834017c31937dcd970b" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834017c31937dcd970b-800wi" style="margin: 0px 0px 5px 5px;" title="Whispering-secret"&gt;&lt;/img&gt;&lt;/a&gt;"We dance round in a ring and suppose, but the secret sits in the middle and knows."&lt;br&gt;- Robert Frost&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The current state, and future plans, for JDK 8 seem to be well-kept secrets, so I'm writing this post to shed some light on the subject.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Well-kept "secret" #1:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;The schedule for upcoming features in JDK 8 builds is posted, listed by feature and by milestone.  These lists are available from the &lt;a href="http://openjdk.java.net/projects/jdk8/" target="_blank" title="JDK page on the OpenJDK site"&gt;JDK 8 page on the OpenJDK site&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Well-kept "secret" #2:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Significant progress has been made in &lt;a href="http://openjdk.java.net/projects/jigsaw/" target="_blank" title="Project Jigsaw"&gt;Project Jigsaw&lt;/a&gt;, and active development continues.  You can see working documents, a quick start guide, and sign up for the mailing list at the preceding link.  You can also &lt;a href="http://jdk8.java.net/jigsaw/" target="_blank" title="Java™ Platform, Standard Edition 8 Early Access with Project Jigsaw"&gt;download an early access version&lt;/a&gt; of JDK 8 with Project Jigsaw to try it out.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Well-kept "secret" #3:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;You can play with lambda expressions (closures and related features) now, using them, for example, &lt;a href="http://www.javabeat.net/2012/05/using-lambda-expressions-of-java-8-in-java-fx-event-handlers/" target="_blank" title="Using Lambda Expressions of Java 8 in Java FX event handlers"&gt;in JavaFX event handlers&lt;/a&gt;.  Check out the &lt;a href="http://openjdk.java.net/projects/lambda/" target="_blank" title="Project Lambda"&gt;Project Lambda&lt;/a&gt; page on the OpenJDK site for very detailed documentation and early access downloads.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Have fun learning about, and playing with, these upcoming JDK features!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;br&gt;James Weaver&lt;br&gt;james.weaver@oracle.com &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=B-fnRwsSGM8:HNW987cdE40:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=B-fnRwsSGM8:HNW987cdE40:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=B-fnRwsSGM8:HNW987cdE40:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=B-fnRwsSGM8:HNW987cdE40:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=B-fnRwsSGM8:HNW987cdE40:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=B-fnRwsSGM8:HNW987cdE40:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=B-fnRwsSGM8:HNW987cdE40:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/B-fnRwsSGM8" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/09/best-kept-secrets-surrounding-jdk-89.html</feedburner:origLink></entry>
    <entry>
        <title>Twenty years later / James Gosling's mighty Oak tree / has come full circle</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/vEIu5cg63oU/twenty-years-later-james-goslings-mighty-oak-tree-has-come-full-circle.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/08/twenty-years-later-james-goslings-mighty-oak-tree-has-come-full-circle.html" thr:count="0" />
        <id>tag:typepad.com,2003:post-6a00e54f133d698834016769518054970b</id>
        <published>2012-08-16T19:00:43-04:00</published>
        <updated>2012-08-17T08:35:46-04:00</updated>
        <summary>The title of this blog post is a Haiku that also has some poetic justice. In September 1992 the programming language named Oak that James Gosling created was first demonstrated on a PDA device named Star7. This device had a graphical interface and a smart agent called "Duke" to assist the user. The Oak programming language, named after the Oak...</summary>
        <author>
            <name>Jim Weaver</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="Embedded Java" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt; &lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d698834016769517168970b-pi" style="float: right;"&gt;&lt;img alt="IStock_000015498976XSmall" border="0" class="asset  asset-image at-xid-6a00e54f133d698834016769517168970b" src="http://learnjavafx.typepad.com/.a/6a00e54f133d698834016769517168970b-800wi" style="margin: 0px 0px 5px 5px;" title="IStock_000015498976XSmall"&gt;&lt;/img&gt;&lt;/a&gt;The title of this blog post is a Haiku that also has some poetic justice.  In September 1992 the programming language named Oak that James Gosling created was first demonstrated on a PDA device named Star7. This device had a graphical interface and a smart agent called "Duke" to assist the user.  The &lt;a href="http://en.wikipedia.org/wiki/Oak_(programming_language)" target="_blank" title="Oak (programming language) Wikipedia entry"&gt;Oak programming language&lt;/a&gt;, named after the Oak tree outside of Gosling's window, was designed to be a new technology for programming next generation smart appliances.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;Oak was subsequently renamed to Java, which went on to become a nearly ubiquitous language and runtime platform.  Exactly twenty years after the first demonstration of Oak, tremendous focus and momentum is occuring in the Java embedded space.  For example:&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;&lt;a href="https://blogs.oracle.com/henrik/entry/oracle_releases_jdk_for_linux" target="_blank" title="Henrik on Java: Oracle releases JDK for Linux ARM, JRE for Mac OS X"&gt;JDK 7u6, released a couple of days ago,&lt;/a&gt; contains a general-purpose port of the JDK to Linux ARM, making it available under the same licensing terms as Oracle Java for other platforms. This JDK release is aimed at the emerging ARM server market, and for the community working on development boards such as the BeagleBoard, PandaBoard and the Raspberry Pi. This port provides 32-bit binary for ARMv6 and v7, with full support for Swing/AWT, both client (C1) and server (C2) compilers and runs on most Linux distributions.  Support for JavaFX on ARM is planned for an upcoming JDK release.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: small;"&gt;A new conference named &lt;a href="http://www.oracle.com/javaone/embedded/index.html" target="_blank" title="Java Embedded @ JavaOne"&gt;Java Embedded @ JavaOne&lt;/a&gt; will provide business and technical decision makers, as well as Java embedded ecosystem partners, with a unique opportunity to meet together and learn about how they can use Java embedded technologies to enable new business strategies.  This conference will occur during JavaOne 2012, and can be attended as a standalone conference, or as an add-on to the JavaOne conference.  Learn more about the business session &lt;a href="https://oracleus.activeevents.com/connect/search.ww?event=javaone#loadSearch-event=javaone&amp;amp;searchPhrase=&amp;amp;searchType=session&amp;amp;tc=0&amp;amp;sortBy=&amp;amp;p=&amp;amp;i%2811349%29=17414&amp;amp;i%2811424%29=&amp;amp;i%2810050%29=&amp;amp;i%2810090%29=&amp;amp;i%2810092%29=&amp;amp;i%2810086%29=" target="_blank" title="Embedded @ Java session line-up"&gt;line-up&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt;One aspect of embedded Java that excites me is the ability to use a common language and UI toolkit to develop applications for devices, thereby drastically reducing the development and maintenance costs.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt; font-family: arial, helvetica, sans-serif;"&gt; &lt;a class="asset-img-link" href="http://www.oracle.com/javaone/embedded/index.html" style="float: right;" target="_blank"&gt;&lt;img alt="Java Embedded @ JavaOne" border="0" class="asset  asset-image at-xid-6a00e54f133d6988340177442f1993970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d6988340177442f1993970d-800wi" style="margin: 0px 0px 5px 5px;" title="Java Embedded @ JavaOne"&gt;&lt;/img&gt;&lt;/a&gt;&lt;a href="http://www.oracle.com/javaone/embedded/index.html" target="_blank" title="Java Embedded @ JavaOne"&gt;Java Embedded @ JavaOne&lt;/a&gt; promises to be a very exciting and useful conference, so I hope to see you there!&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;Regards,&lt;br&gt;James Weaver&lt;br&gt;&lt;/span&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;james.weaver@oracle.com &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=vEIu5cg63oU:n4qzJxWfc8Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=vEIu5cg63oU:n4qzJxWfc8Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=vEIu5cg63oU:n4qzJxWfc8Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=vEIu5cg63oU:n4qzJxWfc8Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=vEIu5cg63oU:n4qzJxWfc8Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=vEIu5cg63oU:n4qzJxWfc8Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=vEIu5cg63oU:n4qzJxWfc8Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/vEIu5cg63oU" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/08/twenty-years-later-james-goslings-mighty-oak-tree-has-come-full-circle.html</feedburner:origLink></entry>
    <entry>
        <title>JavaFX for Science</title>
        <link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/JamesWeaversJavafxBlog/~3/sZpF2B6_ADU/javafx-for-science.html" />
        <link rel="replies" type="text/html" href="http://learnjavafx.typepad.com/weblog/2012/08/javafx-for-science.html" thr:count="3" thr:updated="2012-08-17T19:23:46-04:00" />
        <id>tag:typepad.com,2003:post-6a00e54f133d6988340177441c506d970d</id>
        <published>2012-08-13T17:49:19-04:00</published>
        <updated>2012-08-13T18:15:59-04:00</updated>
        <summary>Note to reader: This "guest post" was written by Dr. James Thompson, who is using JavaFX to develop scientific applications. I've included a brief bio for Dr. Thompson after this post. Java has a rich history in the scientific community. Applications and frameworks such as the NIH's ImageJ, CERN's Colt framework and Apache Commons Math library immediately spring to mind...</summary>
        <author>
            <name>Dr James R. Thompson</name>
        </author>
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX 2.0" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX Apps" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JavaFX Charting" />
        <category scheme="http://www.sixapart.com/ns/types#category" term="JFXtras" />
        
        
<content type="html" xml:lang="en-US" xml:base="http://learnjavafx.typepad.com/weblog/">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;strong&gt;&lt;em&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt; &lt;a class="asset-img-link" href="http://learnjavafx.typepad.com/.a/6a00e54f133d6988340177441c8ad5970d-pi" style="float: right;"&gt;&lt;img alt="IStock_000009374085XSmall" border="0" class="asset  asset-image at-xid-6a00e54f133d6988340177441c8ad5970d" src="http://learnjavafx.typepad.com/.a/6a00e54f133d6988340177441c8ad5970d-800wi" style="margin: 0px 0px 5px 5px;" title="IStock_000009374085XSmall"&gt;&lt;/img&gt;&lt;/a&gt;Note to reader: This "guest post" was written by Dr. James Thompson, who is using JavaFX to develop scientific applications.  I've included a brief bio for &lt;strong&gt;&lt;em&gt;Dr. Thompson after this post.&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Java has a rich history in the scientific community. Applications and frameworks such as the NIH's ImageJ, CERN's Colt framework and Apache Commons Math library immediately spring to mind when working in scientific computing. My first exposure to Java in science came as a graduate student at Oxford. We needed to analyze many large noisy datasets, typically stacked (multi-page) TIFF image files. ImageJ and its excellent plugin framework was the environment of choice for this work. Other groups such as the Mosaic group at the ETH in Switzerland did similar work and have extended it beyond what we did a few years ago.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;So where does JavaFX 2 come in? Well, in my recent work we've had a need to develop image analysis software yet again. It turns out this is a common theme in biology, physics and engineering labs nowadays. I decided to have a look into what was available on the JVM which was when I learned of the new Java FX 2 pure Java library. It instantly appealed as it was well documented, had plenty of examples and was free! Scientists are a diverse group too, so the ability to write once and run on Macs, Windows and Linux boxes is a massive bonus. In academic science these days you often find diverse backgrounds and amalgamations of people with broadly different skill-sets. A nice user interface, easy installation and pleasant work environment on the computer desktop is therefore imperative. &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;A few features stood out immediately as I began browsing examples and reading the API. These included in my order of priority: extensive graphing tools, ObservableList, easy integration with native file systems (open / save dialogs), a simple syntax, great API documentation, FXML and good Netbeans tooling. Later on Scene Builder came onto the scene (pardon the terrible pun). Having done some work with XCode for Cocoa on the Mac I thought it would be hard to stand up to it. I was wrong. Scene Builder was mature out of the box. Laying out 'AnchorPanes' or anything else for that matter is very straightforward. CSS integration also enables easy skinning for apps. This is generally much more difficult in other frameworks.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Living on the JVM and being pure Java, integration with other JVM languages is easy too. My recent forays into Scala have proven very fruitful with JavaFX. I've been building some fairly involved numerical analysis code, and it's very easy to code in Scala. I've been able to use JavaFX in pure Scala classes, extending the 'Initializable' interface and load FXML classes easily.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;I've had to develop a few things building directly on the JavaFX framework, such as for example tools to load multi-page TIFF files and write various bit-depth TIFF data to JavaFX 'Image' objects. But generally plotting tools and data handling are a breeze with JavaFX 2. &lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;IntelliJ IDEA, Netbeans and Simple Build Tool for Scala all enable mixed projects and help with building greatly. I stumbled across an sbt-javafx plugin a few days ago, which has enabled me to package my projects for distribution among my colleagues.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="https://gist.github.com/3344090" target="_self" title="JavaFX Image"&gt;JavaFX images from byte[]&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;In short, if you have a need to develop applets for scientific work, need to load and save data with a GUI, plot graphs and get actual science done, JavaFX 2 has to be given some serious consideration! I can't imagine trying to do what I've been able to in any other framework. I hope more scientists decide to develop things with JavaFX 2, so that we can extend the body of open source code and make development even easier.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Please have a look at a couple of movies I made showing my GUIs in action. These projects are a work in progress, but demonstrate the power of JavaFX and its application to scientific computing front ends.&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="https://github.com/jamesthompson" target="_self" title="Github samples"&gt;Github repository&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;iframe frameborder="0" height="281" src="http://www.youtube.com/embed/5NDQZpNejM4?fs=1&amp;amp;feature=oembed" width="500"&gt;&lt;/iframe&gt; &lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;a href="http://www.youtube.com/user/jimtoxford" target="_self" title="Youtube demos"&gt;&lt;iframe frameborder="0" height="281" src="http://www.youtube.com/embed/2dwgb_UeEu8?fs=1&amp;amp;feature=oembed" width="500"&gt;&lt;/iframe&gt; &lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-family: arial, helvetica, sans-serif; font-size: 12pt;"&gt;Regards,&lt;br&gt;Dr. James Thompson (and Jim Weaver)&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: left;"&gt;&lt;span style="font-size: 12pt;"&gt;&lt;em&gt;&lt;span style="font-family: arial, helvetica, sans-serif;"&gt;James did his PhD at Oxford in the Physical and Theoretical Chemistry Laboratory, researching membrane protein biophysics. After finishing, James went to Harvard Medical School for a year to work on an imaging project before moving to his present role as a post-doc at USC in Los Angeles this year. His work revolves around biophysics but uses techniques from molecular biology, chemistry, microscopy and computer science. James maintains interests in single molecule biophysics, membranes, imaging, protein structure and function and computation with Java, Scala and GPUs. His twitter handle is:  drJamesThompson&lt;/span&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=sZpF2B6_ADU:r58Dw4kO_YQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=sZpF2B6_ADU:r58Dw4kO_YQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=sZpF2B6_ADU:r58Dw4kO_YQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=sZpF2B6_ADU:r58Dw4kO_YQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=sZpF2B6_ADU:r58Dw4kO_YQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?a=sZpF2B6_ADU:r58Dw4kO_YQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/JamesWeaversJavafxBlog?i=sZpF2B6_ADU:r58Dw4kO_YQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/JamesWeaversJavafxBlog/~4/sZpF2B6_ADU" height="1" width="1"/&gt;</content>



    <feedburner:origLink>http://learnjavafx.typepad.com/weblog/2012/08/javafx-for-science.html</feedburner:origLink></entry>
 
</feed><!-- ph=1 -->
