<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Roman Kennke&#039;s Blog</title>
	<atom:link href="http://rkennke.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rkennke.wordpress.com</link>
	<description>My universe and all the rest</description>
	<lastBuildDate>Wed, 25 Jan 2012 16:11:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rkennke.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Roman Kennke&#039;s Blog</title>
		<link>http://rkennke.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rkennke.wordpress.com/osd.xml" title="Roman Kennke&#039;s Blog" />
	<atom:link rel='hub' href='http://rkennke.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Red Hat</title>
		<link>http://rkennke.wordpress.com/2012/01/24/red-hat/</link>
		<comments>http://rkennke.wordpress.com/2012/01/24/red-hat/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 22:15:08 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=490</guid>
		<description><![CDATA[Just like my good friend Mario, I will join Red Hat, starting from February, 1st. It seems like we only come in pairs, like Laurel &#38; Hardy. I just can&#8217;t decide who would be Laurel and who would be Hardy The thing about us is that we don&#8217;t just add up. We amplify each other. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=490&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just like my <a title="Mario joining Red Hat" href="http://www.jroller.com/neugens/entry/red_hat1">good friend Mario</a>, I will join Red Hat, starting from February, 1st. It seems like we only come in pairs, like Laurel &amp; Hardy. I just can&#8217;t decide who would be Laurel and who would be Hardy <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  The thing about us is that we don&#8217;t just add up. We amplify each other.</p>
<p>I am very excited about this, Red Hat is about the best company I can imagine working for. They stand for all the values that I stand for myself. Let me also document this important step in my life with a picture:</p>
<p><a href="http://rkennke.files.wordpress.com/2012/01/dsc_7033.jpg"><img class="alignnone size-medium wp-image-491" title="Roman joining Red Hat" src="http://rkennke.files.wordpress.com/2012/01/dsc_7033.jpg?w=300&#038;h=198" alt="Roman joining Red Hat" width="300" height="198" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/490/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/490/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=490&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/01/24/red-hat/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2012/01/dsc_7033.jpg?w=300" medium="image">
			<media:title type="html">Roman joining Red Hat</media:title>
		</media:content>
	</item>
		<item>
		<title>Life after JP Morgan</title>
		<link>http://rkennke.wordpress.com/2012/01/02/life-after-jp-morgan/</link>
		<comments>http://rkennke.wordpress.com/2012/01/02/life-after-jp-morgan/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 12:04:02 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=486</guid>
		<description><![CDATA[By the end of November 2011 my contract with JP Morgan ended after 17 months. In many ways it was an interesting but difficult time. I could learn a lot of interesting (and not so interesting) things. Unfortunately, not so much technical stuff that I would have liked (I didn&#8217;t really expect that), but about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=486&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>By the end of November 2011 my contract with JP Morgan ended after 17 months. In many ways it was an interesting but difficult time. I could learn a lot of interesting (and not so interesting) things. Unfortunately, not so much technical stuff that I would have liked (I didn&#8217;t really expect that), but about how (really) big corporations work (I think they copy from dilbert.com), about software engineering processes and banking stuff. It was quite difficult for me and my family though, I needed to commute from south-west Germany to south-west Switzerland every second week, which was quite a struggle for all of us. I am happy that this is over now.</p>
<p>I took some free time to spend with my family for most of December, and now want to start through with cool new stuff. I am still not 100% sure which way to go. I am currently spending time to work on CacioWeb and want to turn it into a great product for LadyBug. We have some interested customers and could get some funding, so this is an obvious thing to do for the short term. We also have a bunch of other cool ideas in the pipeline. I am not sure if it can provide enough safe income for the long run to feed my family though, which is why I am also currently looking for an employment position in a nice company (if you happen to know a good one &#8211; <a title="Roman Kennke Resume" href="rkennke.wordpress.com/resume" target="_blank">here&#8217;s my CV</a> &#8211; , let me know!).</p>
<p>To me that&#8217;s an exciting start into the new year. It will be interesting to see what will have happened one year from now <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><img class="alignnone" title="2012" src="http://imgs.xkcd.com/comics/2012.png" alt="" width="665" height="290" /></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=486&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2012/01/02/life-after-jp-morgan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://imgs.xkcd.com/comics/2012.png" medium="image">
			<media:title type="html">2012</media:title>
		</media:content>
	</item>
		<item>
		<title>How the SwingView works &#8211; painting</title>
		<link>http://rkennke.wordpress.com/2011/12/03/how-the-swingview-works-painting/</link>
		<comments>http://rkennke.wordpress.com/2011/12/03/how-the-swingview-works-painting/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 14:52:28 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=481</guid>
		<description><![CDATA[Now that the JavaFX source code starts to trickle out of Oracle, Mario proposed the SwingView of ThingsFX to the official code base of JavaFX. I thought I&#8217;d write a couple of technical storytelling posts about how the SwingView actually works and how we got there. The first prototype It all started when Mario, Robert [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=481&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now that the JavaFX source code starts to trickle out of Oracle, <a href="http://mail.openjdk.java.net/pipermail/openjfx-dev/2011-December/000021.html">Mario proposed the SwingView of ThingsFX to the official code base of JavaFX</a>. I thought I&#8217;d write a couple of technical storytelling posts about how the<a href="http://rkennke.wordpress.com/2011/11/16/swing-in-javafx-demo/"> SwingView</a> actually works and how we got there.</p>
<p><strong>The first prototype</strong></p>
<p>It all started when Mario, Robert and me were looking at JavaFX 2 for the first time a couple of weeks ago. We found that one of the big missing things is a Swing integration into JavaFX, to enable embedding/reusing work that has been done for Swing. Later that same day, Robert came to us and said, hey look what I&#8217;ve done, a SwingView to embed a Swing component into JavaFX. He showed us, and it worked indeed. It was a JButton in a JavaFX scene and when you pushed it, it changed it&#8217;s text. Very impressive! The way it worked was fairly simple but very smart at the same time: on the JavaFX view he registered a mouse clicked listener, and whenever that fires, he would call the button&#8217;s click() method and then paint the button to a BufferedImage, serialize it as PNG over ImageIO into a stream and read that stream from a JavaFX ImageView to show it on the JavaFX scene. Of course it was slow and inflexible (only handles specific events), but it was a good start and it got us working quickly.</p>
<p><strong>Introducing the RepaintManager</strong></p>
<p>One of the obvious shortcomings of the approach was that it only painted when the button got clicked. We needed to be more flexible to repaint more generic components whenever anything gets repainted (i.e. call to JComponent.repaint()). The only place in Swing that knows when to paint what is obviously the RepaintManager. So.. the first improvement was to install a custom RepaintManager, and keep track of dirty components by overriding addDirtyRegion() and then, when paintDirtyRegions() gets called, after all components have been painted by the superclass implementation, send the repainted components to JavaFX (using the same serialized BufferedImage approach as above). This is much more flexible and accurate than the original approach, it allowed us to implement full event handling (more on this in another post). It&#8217;s still not perfect though: whenever client code calls getGraphics() on the component to paint directly, it would blow up. On the way to implementing this RepaintManager solution, we needed to introduce a lot of infrastructure that is still around today (the RepaintManager is gone now as you will see in a bit), most importantly, we needed to provide the wrapped Swing component a Window and a WindowPeer, both of which we mocked up and have them delegate to JavaFX instead (stuff like getLocationOnScreen(), focus handling and other stuff) . In other words, the Swing component thinks it lives in its own window, while in reality the ProxyWindowPeer delegates most of its functionality to the JavaFX node that contains it (hence the name). We also got rid of the BufferedImage buffer that we introduced in the prototype, and now reuse the RepaintManager&#8217;s own backbuffer (otherwise we would get 3 layers of buffering).</p>
<p><strong>Bye Bye RepaintManager</strong></p>
<p>It soon became clear that the RepaintManager approach alone was not the ultimate solution. Most importantly, JFreeChart would eventually blow up since it calls getGraphics() on the Swing component directly to perform some sweet animation stuff. It was clear we need to support it. What we did was to implement a special Graphics2D subclass (ProxyGraphics2D) that wraps the BufferedImage buffer and delegates all drawing operations to the Graphics2D of that BufferedImage and copy that image to JavaFX from time to time. In that last bit lies the tricky part though. When to copy over to JavaFX? On Graphics2D.dispose() ? But what when code keeps the Graphics2D object and never disposes it? It still needs to paint something on screen. We could also trigger on certain events or on RepaintManager but none of this seems to be a fully working solution. What I ended up with was to paint whenever there was a couple of milliseconds (20-50 turned out to be good) of inactivity on the Graphics2D, or after it did not copy for too long, in case some code does a neverending drawing burst. This implementation fixes the NPE when code calls getGraphics(). And we soon realized that this obsoletes our own RepaintManager code above, since now all the painting can be done directly by the normal RepaintManager using the Graphics2D provided by the WindowPeer implementation (this also enables support for client side custom RepaintManagers). Also, after we have done that, we found that this new implementation failed on MacOS, and we tracked it down to the pointless use of SunGraphics2D in a couple of places in the Mac port where using plain Graphics2D is sufficient. Mario <a href="http://mail.openjdk.java.net/pipermail/macosx-port-dev/2011-November/001472.html">pushed a fix</a> for this into the OpenJDK port.</p>
<p><strong>Where we are now</strong></p>
<p>The big remaining bottleneck now was the serialization of the BufferedImage over the stream. We contacted some folks at Oracle (Jonathan, Kevin, Richard: thanks a ton!) and they pointed us to some semi-internal API in JavaFX that can take a BufferedImage and turn it into a JavaFX Image. This solved the problem of serialization. We still have the problem that we always need to update the complete buffer, which takes too long for reasonable large Swing components. We hope to be able to resolve this as soon as the remaining parts of JavaFX get published. Also, Michael Paus pointed us to an<a href="https://forums.oracle.com/forums/message.jspa?messageID=10014892"> interesting discussio</a>n that seems to indicate that the Oracle folks are working on a Canvas2D which provides Java2D access to a JavaFX node (you guys rock!), which is exactly what the SwingView needs for good performance.</p>
<p>In one of the next posts I will write something about the event handling, which is the other big/interesting part of the SwingView.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/481/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/481/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/481/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=481&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/12/03/how-the-swingview-works-painting/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Swing in JavaFX demo</title>
		<link>http://rkennke.wordpress.com/2011/11/16/swing-in-javafx-demo/</link>
		<comments>http://rkennke.wordpress.com/2011/11/16/swing-in-javafx-demo/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 23:14:45 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=479</guid>
		<description><![CDATA[In the last days, I fixed some focus issues and improved painting for the SwingView and today put together a little demo that shows a JavaFX TabPane, with part of the famous SwingSet2 demo in one tab and a little JavaFX demo in the other. You will notice that the SwingView is a little slow, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=479&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the last days, I fixed some focus issues and improved painting for the SwingView and today put together a little demo that shows a JavaFX TabPane, with part of the famous SwingSet2 demo in one tab and a little JavaFX demo in the other. You will notice that the SwingView is a little slow, that&#8217;s because of the way we paint Swing components into JavaFX scene, which is very far from optimal. More to that in a later post. For now, enjoy <a title="Swing in JavaFX demo" href="http://ladybug-studio.com/~roman/fxswingset2/fxswingset2.html" target="_blank">the demo</a>.</p>
<p><img class="alignnone" title="Swing in JavaFX demo" src="http://ladybug-studio.com/%7Eroman/fxswingset2/fxswingset2.png" alt="Swing in JavaFX demo" width="651" height="684" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=479&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/16/swing-in-javafx-demo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://ladybug-studio.com/%7Eroman/fxswingset2/fxswingset2.png" medium="image">
			<media:title type="html">Swing in JavaFX demo</media:title>
		</media:content>
	</item>
		<item>
		<title>HyperTree renderer for JavaFX</title>
		<link>http://rkennke.wordpress.com/2011/11/11/hypertree-renderer-for-javafx/</link>
		<comments>http://rkennke.wordpress.com/2011/11/11/hypertree-renderer-for-javafx/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 22:40:24 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=472</guid>
		<description><![CDATA[Today I kindof went back to the beginning of my free software &#8216;career&#8217; and implemented a hyperbolic tree renderer for JavaFX: This has been the thing that brought me to GNU Classpath, back then I made GNU Classpath able to render this in Swing/Java2D This component is slightly improved, it can renderer arbitrary tree structures [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=472&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I kindof went back to the beginning of my free software &#8216;career&#8217; and implemented a hyperbolic tree renderer for JavaFX:</p>
<p><a href="http://rkennke.files.wordpress.com/2011/11/hypertreefx.png"><img class="alignnone size-medium wp-image-473" title="HyperTree renderer for JavaFX" src="http://rkennke.files.wordpress.com/2011/11/hypertreefx.png?w=300&#038;h=236" alt="HyperTree renderer for JavaFX" width="300" height="236" /></a></p>
<p>This has been the thing that brought me to GNU Classpath, back then I made GNU Classpath able to render this in Swing/Java2D</p>
<p>This component is slightly improved, it can renderer arbitrary tree structures and instead of displaying colorful rectangles, it can basically display any shape, control, image or whatever you can come up with as JavaFX node.</p>
<p>This will be included in ThingsFX shortly. I will also make a live demo of this, because a screenshot doesn&#8217;t really convey how cool the component is (dragging the tree around with the mouse pointer is sooo much fun <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' />  ).</p>
<p><strong>Update:</strong> Here&#8217;s the <a title="HyperTree for JavaFX demo" href="http://ladybug-studio.com/~roman/hypertreefx/hypertreefxdemo.html">live demo</a>.</p>
<p><strong>Update:</strong> Here&#8217;s the <a title="ThingsFX Hypertree source code" href="http://hg.icedrobot.de/hg/thingsfx-hypertree/">source code</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/472/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=472&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/11/hypertree-renderer-for-javafx/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2011/11/hypertreefx.png?w=300" medium="image">
			<media:title type="html">HyperTree renderer for JavaFX</media:title>
		</media:content>
	</item>
		<item>
		<title>Key event support in ThingsFX Swing/JavaFX integration</title>
		<link>http://rkennke.wordpress.com/2011/11/09/key-event-support-in-thingsfx-swingjavafx-integration/</link>
		<comments>http://rkennke.wordpress.com/2011/11/09/key-event-support-in-thingsfx-swingjavafx-integration/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 21:46:24 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=470</guid>
		<description><![CDATA[It has been quite a challenge to get the focus and key event supported in the SwingView component, but it finally works. i.e. you can now give focus to Swing components inside a JavaFX SwingView and type stuff into it: &#160;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=470&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It has been quite a challenge to get the focus and key event supported in the SwingView component, but it finally works. i.e. you can now give focus to Swing components inside a JavaFX SwingView and type stuff into it:</p>
<p><img class="alignnone" title="Key event support in SwingView" src="http://www.limasoftware.net/neugens/downloads/stuff/thingsfx/keyboard_events.png" alt="Key event support in SwingView" width="351" height="370" /></p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/470/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/470/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/470/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=470&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/09/key-event-support-in-thingsfx-swingjavafx-integration/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://www.limasoftware.net/neugens/downloads/stuff/thingsfx/keyboard_events.png" medium="image">
			<media:title type="html">Key event support in SwingView</media:title>
		</media:content>
	</item>
		<item>
		<title>JFreeChart in JavaFX demo</title>
		<link>http://rkennke.wordpress.com/2011/11/04/jfreechart-in-javafx-demo/</link>
		<comments>http://rkennke.wordpress.com/2011/11/04/jfreechart-in-javafx-demo/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 11:20:45 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=465</guid>
		<description><![CDATA[Last night Mario and me put together a demo of JFreeChart running inside JavaFX, as a Swing panel, using the Swing-JavaFX integration that we implemented for ThingsFX. I packaged this demo as a webstart applet/application for you to try out live. This should work at least on Windows. Unfortunately not on Linux since JavaFX has [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=465&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last night Mario and me put together a <a title="JFreeChart in JavaFX" href="http://jroller.com/neugens/entry/jfreechartfx" target="_blank">demo of JFreeChart running inside JavaFX</a>, as a Swing panel, using the Swing-JavaFX integration that we implemented for<a title="ThingsFX" href="http://thingsfx..com" target="_blank"> ThingsFX</a>. I packaged this <a title="JFreeChart in JavaFX webstart demo" href="http://ladybug-studio.com/~roman/jfreefxdemo/jfreefxdemo.html" target="_blank">demo as a webstart applet/application</a> for you to try out live. This should work at least on Windows. Unfortunately not on Linux since JavaFX has not yet been released for Linux (Go, Oracle, Go!) and I haven&#8217;t tried on MacOS. If the demo doesn&#8217;t work for you, you can still watch the screencast that Mario did below. Notice that this is not JFreeChart rendered to an image and added as ImageView, it&#8217;s a live Swing panel added inside JavaFX (I am sure there could be more impressive demos showing animations in the charts or such&#8230; material for another post I guess <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ). The source code for the demo can be found <a href="http://www.limasoftware.net/neugens/downloads/stuff/thingsfx/ThingsFXDemo.zip" target="_blank">here</a>.</p>
<span style="text-align:center; display: block;"><a href="http://rkennke.wordpress.com/2011/11/04/jfreechart-in-javafx-demo/"><img src="http://img.youtube.com/vi/y3SukbQQRgc/2.jpg" alt="" /></a></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/465/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/465/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/465/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=465&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/04/jfreechart-in-javafx-demo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Cacio Testing Howto</title>
		<link>http://rkennke.wordpress.com/2011/11/04/cacio-testing-howto/</link>
		<comments>http://rkennke.wordpress.com/2011/11/04/cacio-testing-howto/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 08:36:16 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=460</guid>
		<description><![CDATA[Now that Cacio Testing is in a fairly usable shape, I thought it might be useful to write up some instructions how to get going with it, in case you want to test it. You will need: Mercurial, Maven and JDK7 First clone the source code to your computer: hg clone hg.openjdk.java.net/caciocavallo/ng/ cacio Then build [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=460&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Now that <a href="http://rkennke.wordpress.com/2011/10/17/cacio-for-ui-testing/">Cacio Testing</a> is in a fairly <a href="http://rkennke.wordpress.com/2011/10/25/reliable-ui-testing-using-fest-swing-and-cacio/">usable</a> <a href="http://rkennke.wordpress.com/2011/11/02/keyboard-mapping-support-for-cacio-testing/">shape</a>, I thought it might be useful to write up some instructions how to get going with it, in case you want to test it.</p>
<p>You will need: Mercurial, Maven and JDK7</p>
<p>First clone the source code to your computer:</p>
<p><code>hg clone hg.openjdk.java.net/caciocavallo/ng/ cacio</code></p>
<p>Then build it using maven:</p>
<p><code>cd cacio<br />
mvn clean install</code></p>
<p>Then in your project where you intend to use it, add this to the Maven dependencies:</p>
<pre>    &lt;dependency&gt;
      &lt;groupId&gt;net.java.openjdk.cacio&lt;/groupId&gt;
      &lt;artifactId&gt;cacio-tta&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
      &lt;scope&gt;test&lt;/scope&gt;
    &lt;/dependency&gt;</pre>
<p>Finally, annotate your testcase with:</p>
<p><code>@RunWith(CacioTestRunner.class)<br />
public class SimpleFESTTest {<br />
...<br />
}<br />
</code></p>
<p>Or if you used FEST&#8217;s GUITestRunner, you might want to use the equivalent:</p>
<p><code>@RunWith(CacioFESTRunner.class)<br />
public class SimpleFESTTest {<br />
...<br />
}</code></p>
<p>Those steps should get you running with Cacio Testing. When you run a test with the above annotation, it should no more popup any windows or steal focus. I&#8217;d be happy if you could give it a try and report back how it goes, especially in case of problems.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=460&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/04/cacio-testing-howto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>
	</item>
		<item>
		<title>Keyboard mapping support for Cacio Testing</title>
		<link>http://rkennke.wordpress.com/2011/11/02/keyboard-mapping-support-for-cacio-testing/</link>
		<comments>http://rkennke.wordpress.com/2011/11/02/keyboard-mapping-support-for-cacio-testing/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 13:28:48 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=453</guid>
		<description><![CDATA[Yesterday I hacked a little on our solution for reliable user interface testing, Cacio Test. It is an AWT/Swing toolkit implementation that renders into an offscreen buffer, thus avoiding any interaction with the computer&#8217;s desktop. Event support is driven exclusively by java.awt.Robot. One of the problems is that the Robot is very low level. Simulated [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=453&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday I hacked a little on <a title="LadyBug Studio" href="http://ladybug-studio.com/" target="_blank">our</a> solution for <a title="Reliable user interface testing using Cacio Test" href="http://rkennke.wordpress.com/2011/10/17/cacio-for-ui-testing/" target="_blank">reliable user interface testing</a>, Cacio Test. It is an AWT/Swing toolkit implementation that renders into an offscreen buffer, thus avoiding any interaction with the computer&#8217;s desktop. Event support is driven exclusively by java.awt.Robot. One of the problems is that the Robot is very low level. Simulated keyboard input is implemented by <code>keyPress()</code> and <code>keyRelease()</code>, which take a <code>keyCode</code>. A key code denotes a key on a keyboard like &#8216;A&#8217;, &#8216;SHIFT&#8217; or &#8216;ENTER&#8217; and is expressed by the varios <code>KeyEvent.VK_*</code> constants. However, there is also a notion of higher level character input in the form of <code>KeyEvent.KEY_TYPED</code> events. Such events express that a character has been input, not a specific key. Often, a keyChar needs several keys to be pressed together or in sequence. This is highly locale specific. (I realized that Java has no way to determine the keyboard mapping locale. For example, my computer runs under DE but has a US keyboard. Any ideas?) For example, the @ char is typed by pressing SHIFT+2 on a US keyboard, but by AltGr+Q on a german keyboard. Yesterday evening I implemented full key -&gt; char mappings for US and DE locales. With this change, Cacio Testing can now be used to test keyboard input interactions:</p>
<p><a href="http://rkennke.files.wordpress.com/2011/11/caciotest2.png"><img class="alignnone size-medium wp-image-454" title="caciotest2" src="http://rkennke.files.wordpress.com/2011/11/caciotest2.png?w=776&#038;h=76" alt="" width="776" height="76" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/453/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=453&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/02/keyboard-mapping-support-for-cacio-testing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2011/11/caciotest2.png?w=300" medium="image">
			<media:title type="html">caciotest2</media:title>
		</media:content>
	</item>
		<item>
		<title>ThingsFX launched</title>
		<link>http://rkennke.wordpress.com/2011/11/01/thingsfx-launched/</link>
		<comments>http://rkennke.wordpress.com/2011/11/01/thingsfx-launched/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 10:34:32 +0000</pubDate>
		<dc:creator>Roman Kennke</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://rkennke.wordpress.com/?p=444</guid>
		<description><![CDATA[Last weekend, Robert Lang Branchat launched thingsfx.com. Together with Mario and my own nothingness, we want to build up an open source repository of amazing and useful extensions to JavaFX, like additional controls, animations, layouts, etc etc. Currently we are working on embedding Swing inside JavaFX scene. We also have some other extraordinary cool things [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=444&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last weekend, Robert <del datetime="2011-11-01T11:36:45+00:00">Lang</del> Branchat launched <a title="ThingsFX" href="http://thingsfx.com" target="_blank">thingsfx.com</a>. Together with Mario and my own nothingness, we want to build up an open source repository of amazing and useful extensions to JavaFX, like additional controls, animations, layouts, etc etc. Currently we are working on <a title="Embedding Swing components in JavaFX scene graph" href="http://rkennke.wordpress.com/2011/10/27/embedding-swing-components-within-javafx-2-scenes/" target="_blank">embedding Swing inside JavaFX scene</a>. We also have some other extraordinary cool things in the pipeline and many many ideas for the future. Let&#8217;s roll! Watch out on this blog and <a title="ThingsFX blog" href="http://thingsfx.wordpress.com/" target="_blank">here</a> and <a title="Mario Torre Blog" href="http://jroller.com/neugens/" target="_blank">here</a> for more news.</p>
<p><a href="http://rkennke.files.wordpress.com/2011/11/thingsfx.png"><img class="alignnone size-medium wp-image-448" title="thingsfx" src="http://rkennke.files.wordpress.com/2011/11/thingsfx.png?w=300&#038;h=126" alt="" width="300" height="126" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rkennke.wordpress.com/444/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rkennke.wordpress.com/444/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rkennke.wordpress.com/444/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rkennke.wordpress.com&amp;blog=9951657&amp;post=444&amp;subd=rkennke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rkennke.wordpress.com/2011/11/01/thingsfx-launched/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a96dc75313e22c97061f76c757a61a9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rkennke</media:title>
		</media:content>

		<media:content url="http://rkennke.files.wordpress.com/2011/11/thingsfx.png?w=300" medium="image">
			<media:title type="html">thingsfx</media:title>
		</media:content>
	</item>
	</channel>
</rss>
