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!
One of the teams working on JavaFX is located in Prague. This team is responsible for many things, including the base scenegraph API, layout, core libraries, animation, and ports to some mobile devices. They have now started up a team blog to publish details of their work. The first post comes from Martin Sladecek, who is currently spending some of his time working on optimising and bug fixing the JavaFX layout APIs. His post is about the peculiarities of JavaFX layout.
Jens Deters continues to work on his Font Awesome library for JavaFX, pushing out a minor release that includes a few new features.
Toni Epple has posted about responsive design with JavaFX. His suggestion is to switch stylesheets based on the system / screen size / etc to alter the styling of UI controls, etc.
We put together a demo that shows what JavaFX can do on a RaspberryPi running fill 1080p HD on a TV using 5 way navigation(Arrows + Select). I hope you enjoy it, we had a lot of fun making it.
The first section of the video is a real recording direct of the HDMI output of the Raspberry Pi. So you can see the raw performance of the device, though video capture was limited to 30fps when the Pi was rendering at 60fps much of the time. The second section is a demo of how SceneBuilder could be used to build one of the demos. In all the menus we show the little overlay of arrow keys in top right corner so you can see how the menu is being navigated.
There are 4 separate menu demos:
The first menu is a classic 2D menu system with a cool 2.5D section chooser.
This is a cool vector 2D animated menu with a fun visual style. Playing with the idea of rotation.
This is a cartoon retro style 3D menu showing 3D extruded text and 3D modeled TVs. The text and TVs were created in Cheetah 3D and exported as OBJ then imported using the OBJ importer available in the open source 3D Viewer sample app. In this demo and the next we have random animated lighting in and the ability to spin the 3D model with the <- and -> arrow keys so that the user can get a feeling for it being real time rendered 3D rather than video of offline rendered content.
This was a way out 3D menu featuring DukeBot who was a early alternative design for the Java Duke mascot that did not get chosen. He was modeled and animated by John Yoon in Maya and we then imported the Maya ASCII file directly with all animation into JavaFX. The code for this menu is pretty tiny as its mostly working off the imported Maya file. The Maya importer is also open source and in the 3D Viewer sample app.
Its mostly running on the shipping EA of JavaFX 8 Embedded we prototyped a couple changes to the platform that we are working on making them real and I hope they will make it into 8 but not sure yet if we will have time. The changes are some performance improvements to how we draw into frame buffer, also the ability to draw JavaFX with transparent background on a hardware layer over hardware decoded video.
A very quiet week this week! I guess people are now starting to prepare for JavaOne. I’ve noticed a similar phenomena in past years where things go quiet in the weeks leading up to JavaOne as everyone starts to work on their projects that they will announce and show off in sessions. In any case, enjoy the links below! 🙂
Just a reminder that if you haven’t responded to the JavaFX 2013 survey you should definitely take the two minutes required to fill it in.
Arnaud Nouard has posted an update to his Undecorator project, which is a custom styling for stages.
Jörn Hameister has posted about how to create a JavaFX-based lottery wheel. As he says in the post, “This article shows how to use TranslateTransitions, FadeTransitions, Timelines and Timeline chaining to implement a simple lottery wheel where names rotate around a point.”
I respun the ControlsFX 8.0.1 release to fix a bug in the PropertySheet control that prevented it working in some cases. You can redownload it from the usual place, or also from Maven Central.
I told you it was a quiet week! 🙂 Catch you all again in a weeks time.
Hi all – welcome to another weeks worth of links! Enjoy 🙂
There is another JavaFX survey that you should definitely consider filling in if you have a spare two minutes. Your input goes straight to the relevant people inside Oracle to help with decision making, etc.
Gerrit Grunwald continues to play with JavaFX, Nashorn (JavaScript on the JVM) and XMPP. This week he has implemented support such that he can essentially talk to his Raspberry Pi via XMPP and send it JavaScript code, which it will then compile and run. This JavaScript could in fact be a JavaFX application, given that JavaFX applications can be written in JavaScript (or any JVM-based language).
Carl Dea has a post about the printing support coming up in JavaFX 8.0.
Antoine Mischler has blogged about natural language search in FXML. As stated in the blog post, “This plugin is the result of a collaboration between dooApp and the INRIA (French public science and technology institution). We investigated a new way to automatically recover traceability links between specifications and code elements.” Further on in the post they go on to say “In our work, we introduced a new approach based on the analyze of the UI labels. Our idea is that the specifications lead most of the time to texts displayed to the user in the user interface and that these texts will use a precise domain terminology. Then it’s possible to retrieve the UI label usage in the code, to identify the pieces of code you are looking for!”
It’s been almost 2 years since we released JavaFX 2.0 on Windows, followed by Mac OS X and Linux support, and plenty of new features. It has been a blast for us, and we’re pretty happy with what we’ve accomplished so far. JavaFX 8 (JDK 8) is looking in great shape, and we’re pretty much done open sourcing all of JavaFX through OpenJFX. However, nothing matches hearing from you and getting a pulse on the developer community.
So, it’s time for another survey on FX Experience! You may recall our last survey was about tablets and mobile support, and we received an absolutely huge number of submissions. That information was fed directly to the relevant people, and they’ve asked us again to put out the survey below. Your input is hugely appreciated and it is a great way for you to continue to influence the future of JavaFX! Get your friends to participate! 🙂 (more…)