Here we go for another week! 🙂 It seems the number of JavaFX links is really starting to pick up after JavaOne. The most notable news this week was that Oracle has started the open source discussion. Find all the details, and plenty of other interesting links, in this weeks JavaFX links roundup!
- This week we made our next move along the road of open sourcing JavaFX, with Richard Bair posting a message to the OpenJDK discuss mailing list. Additionally, he blogged about the plans. As we’ve mentioned, we really encourage your feedback and participation in this project!
- Zonski continues his series of blogs on FXML and controller injection (with Guice). This week there are four blog posts from him: “Multiple Controllers with Shared Resources“, “Views within Views, Controllers within Controllers“, “Generic Controllers“, and “Better Controller Injection with Guice“.
- Mario Torre blogged about work he and two colleagues have been doing to enable embedding Swing inside a JavaFX application (the opposite of what is officially supported in JavaFX 2.0 using the JFXPanel component).
Whilst not available currently You can see their work over at their GitHub repo, and elsewhere they have announced a willingness to contribute this back in to the open source JavaFX project.
- Tom Eugelink has announced an updated release of MigLayoutFX2 (also known as MigPane). This release adds support for the final JavaFX 2.0 release.
- Kai Tödter has shown off the power of the JavaFX CSS styling functionality by making a dark style and showing how little CSS is required.
- The JavaFX team has its ears to the ground – we hear your feedback! The most recent example of this is the changes we’ve made to the need to have an OTN account to download the JavaFX 2.0 SDK. As announced earlier this week, this is no longer required.
- Along the same lines, the JavaFX documentation team is seeking your feedback on what you want them to write about. These guys do an amazing job, and they are always trying to find new documentation topics. If you feel something is under-documented, talk to them and you may just find a whole heap more documentation will start appearing on this topic.
- Steve Northover (previously involved with SWT, now working in the JavaFX team) has a talk at EclipseCon Europe 2011 on “JavaFX Past, Present and Future and Interop with SWT and Swing”. The talk is next week.
- Stephen Chin discusses JavaFX and the state of client-side Java in a YouTube video posted by O’Reilly.
- Gail Anderson has put up a blog post on building a JavaFX ‘Sketch Pad’ application using custom binding.
- Wayne Young has been playing around with JavaFX, most notably creating a JavaFX application that integrates JBox2D physics, a side scroller (with update), and a ‘crazy bookshelf‘. In all cases the code is there for you to explore and experiment with.
Hope you all enjoyed the links – catch you all in a weeks time! 🙂
I just sent the following letter to the OpenJDK community “discuss” mailing list:
Hi OpenJDK community!
As announced at JavaOne we (Oracle) would love to contribute JavaFX into OpenJDK as a new project called “JFX”. For some who have been following along, we’ve talked about this for a long time but finally (finally!) we’re ready to act on it and open source the platform. We are not just interested in open sourcing the code, however, we also want to move into an open development model. We already have an open bug database. The project uses Mercurial, so we should fit in pretty well into OpenJDK.
Our basic motivation for wanting to open source JFX is to built a community and ecosystem support and adoption around JavaFX by increasing transparency. Of course we are also interested in getting patches and early feedback from the community! Our goal is to provide the next-generation Java client toolkit, and JFX would be the next step along that path, which hopefully culminates in a JSR for the Java 9 timeframe and including JFX as proper part of the JDK. I would be the initial Project lead for JFX.
A little bit about our project:
It is a significant contribution to the corpus of open source code
It includes over 6000+ public API members (methods / constructors / etc)
It includes over 11,500 unit tests
Core libraries such as observable collections and binding
Scene graph, effects, graphics
CSS support for JavaFX
Prism (hardware accelerated graphics, including openGL and D3D and java2D implementations)
Glass (windowing system, base porting layer, including mac, linux, and windows implementations)
UI Controls and Charts
Our builds are all Ant, with JUnit for testing (there is some ‘make’ in there for native parts). We also have NetBeans projects setup for each area. There is a lot of code that we’ll be releasing, so as a matter of practicality we’re going to release different parts of JavaFX over the course of the next few months, starting with UI controls followed by charts. We’ll put up a full roadmap onto our project pages, should we be approved to become part of OpenJDK. We’ll make sure that the open source code is always fully buildable by anybody using the sources + a binary plug (which will become unnecessary as we open source the remaining pieces). All of the above listed modules will be open sourced and fully buildable.
What do you think? I’d love to hear any issues and hopefully be able to resolve those prior to requesting an official vote.
 A good example of the sort of interesting stuff going on out there can be found here: http://jroller.com/neugens/entry/embed_swing_inside_javafx_2
This is the first step towards open sourcing JavaFX into OpenJDK. First I wanted to talk with the community about it, and if it looks favorable, I’ll follow up with an official project proposal. Here’s hoping! If you are a subscriber to “discuss”, please go and throw in some good word for the idea and if you have any questions I’d like to hear those too. If you aren’t a member of “discuss”, go join :-). You can do so here.
It feels good to finally be getting this all out in the open source!
Having been traveling for the last three weeks, I’ve not been able to post the weekly JavaFX links roundup. Today I’m trying to make up for this by posting all the links I gathered as I was traveling (and on vacation). There are two problems with this approach: 1) what follows is basically information overload, and 2) I almost certainly missed links. I hope you can all forgive me for this one time, and I also hope you find a heap of interesting links in this post (it took me a looonnggg time to write this week!).
Whilst I’m here, I must note that it was great meeting so many people at JavaOne. The number of times I was speaking to someone who didn’t know me, only to see my name badge and know exactly who I was because of this blog was actually very impressive. I’m surprised so many of you read this blog! Anyway, with that (and because this post is already long enough) let’s get straight into it… 🙂
- The big news out of JavaOne for JavaFX was the general availability release of JavaFX 2.0 for Windows, and the beta release of JavaFX 2.0 for Mac OS X. A number of sites posted articles relevant to this.
- Following hot on the heels of the JavaFX 2.0 release is JavaFX 2.0.1, which is a security-only update released in-sync with all other Java security updates (which explains why it was released so soon after 2.0).
- We’ve also put out another build of JavaFX 2.0 beta for Mac OS X, taking the build number up to version 5.
- My partners in crime here at FX Experience, Richard Bair and Jasper Potts, have been busily blogging, including posts titled “Don’t use impl!“, “JavaFX Technical Keynote at JavaOne Video“, “JavaFX sessions at JavaOne 2011 online“, “FXML: Why It Rocks, And The Next Phase“, and “Correctly Checking KeyEvents“.
- A number of blogs have appeared online related to JavaFX FXML being used in conjunction with dependency injection frameworks. Firstly, Tom Schindl has blogged about JavaFX FXML and Google Guice. Following this, Richard Bair blogged about exactly the same topic. Finally, Zonski has blogged about JavaFX FXML and Spring, and in a separate post, ‘better controller injection‘.
- Speaking of Jasper, he was recently interviewed by the Java Spotlight podcast regarding the JavaFX 2.0 release.
- The Oracle Media Network has five videos related to JavaFX 2.0 features: graphics, UI controls, animation, effects, and embedding web content.
- Tom Schindl has also been very busy on his e(fx)clipse project, putting out version 0.0.7, which includes a number of new features, including new wizards, live preview support for editing his ‘FXGraph’ DSL, auto-completion of FXGraph, support for dependency injection, and the start of an application framework.
- Mr LoNee has blogged about a similar feature as mentioned above – a ‘NodeCodeEditor‘ that live previews what is happening as code is being edited (although there are constraints, so be sure to read the blog post completely).
- Jide Software has released a free-to-use JavaFX RangeSlider control (that is, a Slider that has two thumbs rather than one). All I can say is keep up the great work! I want to see a thriving 3rd party controls ecosystem in JavaFX! 🙂
- At JavaOne we demonstrated JavaFX running on various tablet devices. Whilst this is not in any public roadmaps yet, there have been a few writeups on this demonstration that may be of interest.
- Another big JavaOne announcement was the plan to open source the entire JavaFX stack through the OpenJDK.
- One of the talks I gave at JavaOne (along with Johan Vos) was about our DataFX project, related to simplifying the population and rendering of ListView/TreeView/TableView controls. Just today I did a better write-up explaining what the project is, and (hopefully) enticing more people to play around with it.
- All JavaOne slides appear to be online for public consumption. I posted a blog post that links to the three talks I gave, as well as a link to the content catalog where you may download all other slide decks.
- Roman Kennke has posted about “JavaFX 2 — The new Swing ? (!)“.
- Bertrand Goetzmann has updated his Grezi application with JavaFX 2.0 GA support, and now uses the latest GroovyFX release. He has put up a video that demonstrates the HTML 5 slideshows feature.
- Patrick Webster has ported a Pac-Man clone that was originally written for JavaFX 1.3.1 to use the new JavaFX 2.0 release.
- Dustin has blogged about the NetBeans 7.1 beta, and how it can be used for developing JavaFX 2.0 applications.
- Hamilton Matos has blogged about ‘Building JSF 2.0 Composite Components Based on JavaFX with NetBeans‘.
- Gail Anderson has two new JavaFX 2.0 blog posts online, both about animation and binding. The first post creates a simple countdown timer, whilst the second post extends the first by adding a progress bar into the mix.
Phew! That’s that for another week. I’ll get back into the regular schedule starting next week, so hopefully next weeks posting won’t be as great an ordeal (for you and me!) next week. Catch you all in a weeks time folks 🙂
One of the projects I worked on leading up to JavaOne 2011 was the DataFX project, which, as I wrote on the website, “is an open source project that intends to make retrieving, massaging, populating, viewing, and editing data in JavaFX UI controls easier. It’s all that boring kludge work you have to do between getting user requirements and delivering a rich user experience.”
DataFX is a project Johan Vos and I have been working on for many months now, and it has gone through a number of iterations in that time. At JavaOne 2011 we put out a first release (let’s call it version 0.0.1 for lack of an official version number), and today I want to briefly introduce it for those of you who didn’t attend JavaOne. However, even if you didn’t attend JavaOne, we’ve put the slides online.
To be very clear, DataFX is not an Oracle project! Johan and I both developed this in our own time, and it does not necessarily represent the future plans of the official JavaFX project. This project was built to make many of the UI controls I develop easier to work with by filling in the gaps as of the current JavaFX 2.0 release. Oracle may or may not have future plans in the same area as DataFX, but for now DataFX exists to fill the gap. For more details, check out the DataFX FAQ.
To make things easier to understand let’s conceptually split DataFX into two sub-projects which attack a common problem from two different angles.
I’ve just returned back from three weeks in the US, and one thing I was asked very frequently during JavaOne was if I’d be making my slides available. It turns out that I don’t even need to upload the slides manually this year – Oracle has put them all up online already. If you want to find slides for (I assume) any of the JavaOne sessions, you can search the content catalog.
However, for those interested in my sessions, the three talks I gave were the following:
- UI Controls and Charts: Drag-and-Drop, Filtering, Sorting, Table Hookup with Charts.
Paru Somashekar and Jonathan Giles.
- JavaFX Datasources: Getting Real-World Data into JavaFX Controls.
Johan Vos and Jonathan Giles.
Download slides. For more information, visit the DataFX website.
- Custom UI Controls and Charts with JavaFX 2.0.
Jasper Potts and Jonathan Giles.