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.

JavaFX links of the week, August 5

Hi all – a good number of interesting posts this week. Because I’m running a bit late lets just get right into it! 🙂

Catch you all next week! Keep up the great work.

JavaFX HD Menus on RaspberryPi

JavaFX HD Menus on RaspberryPi

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:

  1. The first menu is a classic 2D menu system with a cool 2.5D section chooser.
  2. This is a cool vector 2D animated menu with a fun visual style. Playing with the idea of rotation.
  3. 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.
  4. 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.

JavaFX links of the week, July 29

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.
  • Jens Deters has posted an update to his Font Awesome JavaFX support.
  • 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.

JavaFX links of the week, July 22

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.
  • Benjamin Gale has a post about creating a simple JavaFX MVP example application.
  • Martin Andersson has a very long blog post (spanning 11 pages!) that details his thoughts on the enterprise side of JavaFX.
  • Heiko Rupp, who works at Red Hat in the Java area on systems management with RHQ and JBoss ON, has written a front end in JavaFX for a RHQ plugin generator.
  • 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!”
  • Mario Torre has started investigating the feasibility of a (modena) style for Swing.

That’s all for this week – catch you all again in a weeks time! 🙂

JavaFX 2013 Survey

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…)

JavaFX links of the week, July 15

Hi all. Welcome to another weeks worth of links. Enjoy 🙂

Keep up the hard work folks and I’ll catch you all again in another week with more of your links 🙂

ControlsFX has new URLs

Just a quick post: ControlsFX now has new URLs. I’ve gone through and updated most links already but there are bound to be a few that are out of date (which I’ll get to in due time). In any case, the main change is the URL for the BitBucket repo. It is now the following: code.controlsfx.org. Additionally, in an effort to make the urls I link to often slightly easier to remember, I’ve also created the following subdomains:

Announcing ControlsFX 8.0.1

Announcing ControlsFX 8.0.1

Hot on the heels of ControlsFX 8.0.0 (which has had over 1000 downloads already!), Eugene Ryzhikov and I are very pleased to announce the availability of ControlsFX 8.0.1. Now, to be clear, despite this only being an 0.0.1 increment in version numbers, as per our release versioning policy, this is actually a major release comprising a number of new features. The number of people downloading and using the previous ControlsFX releases is really, really pleasing – especially when you take into account the fast release cycle and the fact that ControlsFX depends on JavaFX 8.0, which is only part of JDK 8!

In 8.0.1 final, the most notable features are detailed below, but before I get into that I just wanted to remind you that this is an open source project that you can participate in, either through helping with documentation, bug fixing, new features, or whatever else. Here I have to give thanks to Danno Ferrin for his continued support of our build system, and Hendrik Ebbers for his work on enabling a continuous build of ControlsFX. Finally, another mention of Eugene Ryzhikov who has been my partner in crime on most of these features – he single-handily developed the PropertySheet control in this release!

Also, as per usual, before you ask a question on how to use the API, please refer to our JavaDocs. We put so much effort into them that it pains us every time we have to refer you to them, where your question has already been answered 🙂

Finally, learn more about ControlsFX, and download it, from the ControlsFX page.

Now, on to the features!

(more…)

JavaFX links of the week, July 8

A heap of new source code and news this week – enjoy! 🙂

  • The big news this week was the progress that the open source community around JavaFX (and OpenJFX in particular) has made with getting JavaFX code to run on iOS devices. Tobias Bley has a blog post detailing what has been achieved.
  • Daniel Zwolenski has released the 2.0 version of the JavaFX maven plugin.
  • Gerrit Grunwald has made available a useful notification popup API for JavaFX applications. This notification panel opens up in the corner of the screen like many other software applications do to notify of new emails, etc. This was something I was planning to work on for ControlsFX, but Gerrit beat me to it (although ControlsFX does have a NotificationPane for in-app notification, if you’d rather notify within your application)! 🙂
  • Robert Ladstätter has a cool blog post about a sudoku solving JavaFX application written in ScalaFX. What’s even more impressive is that you just feed the application a photo of the unsolved sudoku puzzle! Watch the video to see it in action.
  • JIDESoft has released more JideFX source code as open source. The newly open sourced projects are JideFX Decoration, JideFX Validation, and JideFX Fields.
  • Andreas Billmann has posted about creating custom ListCells for the ListView control in JavaFX (although the same concept applies for all cell-based UI controls such as TreeView, TableView, TreeTableView and ComboBox).
  • Benjamin has blogged about creating reusable JavaFX custom controls which are built using FXML descriptions.
  • As mentioned last week, Angela Caicedo is presenting this week at the Silicon Valley JavaFX Users Group on July 10. As per usual it is streamed live online so even if you aren’t in Silicon Valley you can join in. Angela is presenting on “Beyond Beauty: JavaFX, Parallax, Touch, Raspberry Pi, Gyroscopes, and Much More”.
  • Sean Phillips has a blog about introducing the JFXtras RadialMenu control into the NetBeans RCP.

That’s all this week. Catch you all again next week.

JavaFX links of the week, July 1

A relatively quiet week this week, and I’m well behind schedule today, so let’s just get right into the links! 🙂

  • Angela Caicedo is presenting at the Silicon Valley JavaFX Users Group on July 10. As per usual it is streamed live online so even if you aren’t in Silicon Valley you can join in. Angela is presenting on “Beyond Beauty: JavaFX, Parallax, Touch, Raspberry Pi, Gyroscopes, and Much More”.
  • JavaFX Scene Builder 1.1 build b28 is now available for download.
  • Jim Weaver has posted the slides for his JayDay 2013 talk regarding JavaFX touch input functionality.
  • Christophe Dufour has posted about FXBinding, a project to provide additional binding APIs for JavaFX developers.
  • dooApp have announced the release of FXForm 2 release 0.2.2. FXForm2 is a library providing automatic JavaFX 2.0 form generation.
  • Micha Kops has blogged about creating and packaging a game in Java FX 2.2.
  • Jörn Hameister has posted code about how he built a JavaFX puzzle game.

Catch you all next week!