FX Experience Has Gone Read-Only
I've been maintaining FX Experience for a really long time now, and I love hearing from people who enjoy my weekly links roundup. One thing I've noticed recently is that maintaining two sites (FX Experience and JonathanGiles.net) takes more time than ideal, and splits the audience up. Therefore, FX Experience will become read-only for new blog posts, but weekly posts will continue to be published on JonathanGiles.net. If you follow @FXExperience on Twitter, I suggest you also follow @JonathanGiles. This is not the end - just a consolidation of my online presence to make my life a little easier!
tl;dr: Follow me on Twitter and check for the latest news on JonathanGiles.net.
by Jonathan Giles | May 30, 2010 | Links
Another week, and unsurprisingly I have another bunch of links for you folks. Thanks to everyone for blogging your thoughts and what you’re working on – it’s great to hear what everyone is thinking of and doing. As always, feel free to ping me with any links you may have that you think are worth including.
Now – on with the news!
That’s all for another week. Keep up the great work everyone – I’ll catch you all again next week (or sooner if you’re on twitter) – same bat time, same bat channel.
by Richard Bair | May 28, 2010 | Tips n' Tricks
I was going through my bug list today and noticed this bug, Document how to embed fonts in FX apps. A quick google search turned up a single forum posting on the subject which just linked back to the root bug (lucky for me I put the solution in the bug report so people weren’t completely stuck). Surprisingly, I couldn’t find any documentation on the subject here at FXExperience.com, so I thought to rectify that with a short post explaining the subject. (more…)
by Jonathan Giles | May 23, 2010 | Links
A huge amount of JavaFX news and links this week, certainly something for everyone, I hope. As always, I’m keen to hear from you folks with any news or links you think should be included. Either message me on twitter or email me.
- The JavaFX documentation team have updated both the JavaFX 1.3 Migration Guide and the ‘Using Layout Containers‘ documentation.
- Rakesh Menon has posted a TableView implementation he has created. It makes use of our new Cell architecture for virtualising scrollable areas (e.g. We used it in 1.3 for ListView and TreeView). Whilst his approach is basic, it works in JavaFX 1.3 and may certainly meet your needs.
- Jan Goyvaerts posted an A* path finding implementation in JavaFX this week, which is very cool. He has included a very good writeup, as well as the source code.
- Osvaldo Doederlein has posted a JavaFX implementation of Conway’s Game of Life. In his usual style he dives deep into performance implications and how he thinks they can be worked around. A great post.
- Alex Ruiz has announced the release of version 1.0b1 of the FEST JavaFX compiler Maven plugin. This plug-in compiles JavaFX source and test files.
- Stephen Chin has announced a beta 2 release of JFXtras 0.7, which aims to get JFXtras working on JavaFX 1.3. Importantly, this release has controls ported over to JavaFX 1.3. He has also blogged about his upcoming JavaFX talks at Jazoon and JavaOne.
- Antoine Mischler has blogged about his thoughts on developing a business application using NetBeans Composer.
- The NetBeans team have put up a good article on data binding in NetBeans 6.9.
- The Exadel blog has a post covering some of the features of the JavaFX plugin for Eclipse that they develop.
- Nii Osei-Agyemang has started a new blog covering how he plans to use JavaFX for GIS. Some recent posts cover his planned GIS architecture, how he ported to JavaFX 1.3, and how he is making use of JavaFX web service APIs.
- Speaking of GIS, I came across the PiriMap JavaFX application which does a similar thing. Unfortunately, I only have a video to show.
- Daniel Ziltener has posted an example of how he used the JavaFX Storage API, and is seeking your thoughts on how to improve it.
- I put up the slide deck I used for the two-hour JavaFX introduction talk I gave recently.
That’s that for another week. Keep up the great work everyone – it’s great fun finding and reading what you’re working on. Catch you all next week! ๐
by Jonathan Giles | May 16, 2010 | Links
A slightly quieter week this week, but in fact there is a heap of very useful, well-considered posts this week. Be sure to check out the links below as there is plenty of useful information!
- Amy Fowler has blogged about the promotion of the ‘managed’ property from LayoutInfo to Node, and at the same time covers the implication of this move. Well worth reading if you don’t understand what managed / unmanaged nodes are.
- Tor Norbye has done a very useful blog post discussing pixel considerations in Java / JavaFX. Basically, if you’re wondering why your lines look blurred, this post explains why – and how to fix it. If you’re doing anything in JavaFX, you really should read this post.
- Rakesh Menon has shown how to use the preview TreeView control we released in 1.3. You should read this as it shows the alternative way of building a tree on-demand. It’s a very nice feature of the TreeView API.
- Peter Karich has posted a ‘matchstick graph editor‘ on JFXStudio. For others creating fun little apps, in any stage of implementation, please consider posting details about it to JFXStudio – contact me for details.
- Jim Clarke has ported Jim Weaver’s 3D demo I mentioned last week to work on a TV. You can read all about the porting (basically mapping keys to the remote control), and watch a video, on Jim Weaver’s blog.
- Johannes Schneider has posted about ‘Closing the gap between Java and JavaFX‘ by making it easier to bind between JavaFX and Java code. He says that this will eventually end up in the JFXtras project.
- Sten Anderson has released Music Explorer FX 2.0, which has significant improvements over earlier releases.
- I came across the ‘getting started with the JavaFX Composer‘ tutorial this week, and whilst I don’t know it’s age, I thought it might be useful for people wanting to play with this JavaFX RAD plugin for NetBeans.
That’s us for another week. Thanks to everyone for writing these useful posts, and as always please contact me if you think I missed something or should include a link next week. Keep up the hard work folks! ๐
Johannes Schneider
by Jonathan Giles | May 9, 2010 | Links
An absolute tonne of posts this week. It’s great to see that JavaFX is doing well, and that people are so active in improving, growing and supporting the community. Keep it up folks ๐
I warned you that this was a busy week! I hope that there was something helpful in the bunch of links above that was of particular help and/or interest to you. If I missed something out, or you just want to complain/sing my praises, please either message me on twitter (@JonathanGiles) or email me. Of course, you should also follow the @fxexperience twitter stream for news of when we post new blog posts here.
Right, that’s it for another week. Keep up the hard work folks and I’ll see you all again in a weeks time.
by Jonathan Giles | May 5, 2010 | Controls
Important Note: Menus (and related classes) are ‘preview’ API in JavaFX 1.3, which means that the API may (and most probably will) change in future releases. However, you’re welcome to make use of these preview controls in 1.3. Read on to learn how.
Up until the release of JavaFX 1.3 it was not possible to build proper menus that ‘popped’ out of the Stage, as one expects a menu to do. It was not until we were able to expose other functionality internally that creating proper menus became possible. As already warned, in JavaFX 1.3 menus are preview controls whilst we firm them up and get feedback from the community. In this post I wanted to outline the API, and what options you have for styling them using nothing more than CSS.
(more…)
by Jonathan Giles | May 2, 2010 | Links
It’s nearly the end of my time in California – I head back to New Zealand tomorrow evening – but before that I need to post a new JavaFX links of the week. This week there were a tonne of posts, and so this post is very long. I had to keep my comments to a minimum as otherwise the post would have been even longer. Let’s get into it!
- Following on from his first JavaFX 1.3 CSS post last week, Dean Iverson has continued with two further posts discussing what’s new in JavaFX 1.3 CSS support. They are highly recommended reading. The first post covers the topic in detail, and the second asks what this is all good for?
- Futher to these posts by Dean, the JavaFX documentation team has also posted about how to style with CSS.
- We added two new posts detailing the improvements to ListView in 1.3, in particular the introduction of cells. The first post discusses the support for dynamically variable row sizes, and the second post dives into how to create cellFactories.
- Alex Ruiz has announced that he has made progress in testing JavaFX application user interfaces. This allows for work to continue with the FEST-JavaFX project designed to make testing JavaFX applications easier.
- TimeShot is a very interesting JavaFX application I came across this week. It can create some interesting effects with photos, which you can see, and try for yourself, at the TimeShot website.
- Johannes Schneider has done a tonne of posts recently, so I can only cover the blog titles here. ‘JavaFX: Custom controls in 1.3‘, ‘JavaFX 1.3: Template for custom controls‘, ‘JavaFX Light Bulb with improved UI performance‘, ‘JavaFX: Bug in Timeline(?!)‘, ‘JavaFX: Transparency and Linux‘, ‘New JavaFX default font (Amble Condensed) looks ugly!‘, ‘JavaFX: Making a CustomNode resizable‘, ‘JavaFX: Template for resizable CustomNode‘, ‘JavaFX: How to extend CustomNode properly‘, and ‘JavaFX Bug or Feature? Panel doesnโt layout if placed in class‘
- Daniel Ziltener has blogged about the ‘on invalidate’ statement that has largely slipped by in the JavaFX 1.3 release.
- Rakesh Menon has updated his code to save a scenegraph to an image to work with 1.3.
- Peter Pilgrim has blogged about the 3D capabilities introduced in JavaFX 1.3.
- Joeri Sykora has blogged about isometric tile rendering in JavaFX 1.3 for a game he is working on.
- Patrick Champion has updated his Duke animation in JavaFX 1.3 to make use of what is new in 1.3.
Wow, that’s a heapย of posts. Hope there was something there for everyone. As always, feel free to email me if you have anything you want included or to just generally discuss. Have a great week everyone ๐
by Richard Jasper and Jonathan | Apr 29, 2010 | API Design, Controls
In JavaFX 1.3 a lot of work has gone into ListView, and extracting out the base virtualization engine (the secret sauce to high performance lists) such that it is able to be used in controls such as TreeView and TableView. At the same time we wanted to make it really easy for developers to customize what is shown in each ListView row. What we’ve ended up doing is creating the concept of a cell, which at any point in time represents at most one item in your ListView, and it is through the cell that you have total freedom about how to display your data. Finally, as noted, we’ve expanded this concept to also be used in exactly the same way in TreeView (which is a preview in JavaFX 1.3), and it is likely to also underpin any future TableView control.
(more…)
by Richard Bair | Apr 27, 2010 | Controls, Tips n' Tricks
One of the really neat things about the JavaFX ListView control is the Cell API, and the ability to have dynamically variable row heights, without sacrificing performance or scalability. To accomplish this, we’ll write a custom Cell factory which will create a Cell who’s size depends on some state.
To recap briefly, to remain scalable and fast, the ListView reuses Cells for rendering each row in the ListView. Because it reuses Cells, each Cell needs to be designed so that it does the right thing no matter what row it is asked to represent — even empty rows which are used only for filling out a ListView and not for actually holding valid data. (more…)
by Jonathan Giles | Apr 25, 2010 | Links
Well, look at that – JavaFX 1.3 came out this week. This weeks links are obviously largely about this, as I expect it to be for some time. 1.3 is a great release, but rather than rehash my thoughts here, I’ve got a bunch of links to other posts below. Enjoy! ๐
- As mentioned, JavaFX 1.3 came out this week. You can read the official blog post about it, check out the new features, and read the migration guide to understand what was changed since 1.2.
- We posted a ‘Welcome JavaFX 1.3‘ post, and also covered our top 10 features of JavaFX 1.3. We also plan to start putting up a bunch of posts over the next week or two to cover more details in JavaFX 1.3.
- Stephen Chin has covered his top 10 features in the new JavaFX 1.3 release.
- Dean Iverson has done a great job filling in the gaps on how to style JavaFX, this time with a blog introducing how to use the new CSS styling available in JavaFX 1.3.
- Jim Weaver has posted a 3D JavaFX application that demonstrates some of the new 3D API and functionality in javaFX 1.3.
- Johannes Schneider has done a bunch of posts recently, so I’ll just mention the titles here: ‘JavaFX: Creating custom controls โ the right way‘, ‘JavaFX: Bounds by example‘, ‘JavaFX: Gotcha in skin assignment‘ and ‘JavaFX 1.3: Binding improved‘.
- Pedro Duque Vieira has blogged about adding animated characters to the Modellus project he is working. Of additional interest is that this application is a merging of Swing and JavaFX. Check out the YouTube video to see it in action.
- Mark Anro Silver has posted two code samples on JFXStudio. The first one shows glow and lighting effects, and the second post showing how you can apply effects on top of graphics for interesting effects.
- Peter Karich has posted about his thoughts on creating simple desktop widgets in JavaFX. He also posted about creating a shadow motion effect in JavaFX.
- Itssmee has blogged about comparing the Processing language to JavaFX Script.
- Have a play with the MetaMaps tool being created in JavaFX, and be sure to offer any feedback you may have.
That’s all folks! Keep sending in the links and I’ll catch you in a weeks time.