Hi all – welcome to another weeks worth of Java desktop links! Enjoy :-)

  • This week Scene Builder 2.0 was open sourced as part of the OpenJFX project. This means that it is now possible for people to learn from the Scene Builder code base, and who knows, maybe propose improvements.
  • Speaking of Scene Builder, Sven Reimers has two posts (so far) about embedding JavaFX Scene Builder 2.0 ea in NetBeans. The first post covers embedding the FXML visual renderer, and the second post covers embedding the hierarchy viewer.
  • Tom Schindl has a blog post introducing his new project: SWT running on top of  JavaFX. As he says in the post, “SWT on FX is an SWT implementation which instead of using the native widget it use JavaFX controls under the covers (similar to what SWT on Swing did some years ago).” At present it is more of a research project and is not yet available, although Tom is looking for expressions of interest in the technology so that he can develop a business plan around it.
  • ControlsFX 8.0.3 was released this week, including a new PopOver control, new CheckComboBox/CheckListView/CheckTreeView controls, a new Borders API and a number of updates to SpreadsheetView. Also, the sample application was made more generic to allow for third party projects (such as JFXtras) to make use of it rather than have to develop their own sample application. Other users are more than welcome to use it as the base for their own application.
  • Jens Deters has set up a website for his JavaFX projects (including adm4ee, a “management tool to ease the daily business of Java EE Application Server admins”, and FontAwesomeFX).
  • Gerrit Grunwald has announced that his Enzo project has moved from Github to Bitbucket, and that the build structure has been cleaned up.
  • Bertrand Goetzmann has announced PlantUMLFX, which is “a JavaFX 2 application implemented with a single GroovyFX script, PlantUMLFX.groovy, that allows you to generate UML diagrams with the help of PlantUML.”
  • The tomoTaka blog has a post about how to add drag and drop support for files being dropped on to a JavaFX TreeView control.
  • Sean Phillips has a post rebutting an earlier blog post by Yakov Fain arguing about whether Swing should be killed to force JavaFX usage?

Catch you all next week!

I am incredibly pleased to announce on behalf of the entire ControlsFX team that ControlsFX 8.0.3 is now ready for download! This release comes approximately two months after the 8.0.2 release, and is a major release. For those too impatient to read the details, go here to download the release (or as always it is also available via Maven Central – just update your dependencies to 8.0.3). For those unfamiliar with the features of ControlsFX, refer to the features page. With that out of the way, let’s get into the juicy details of this release! :-)

Firstly, it goes without saying that this release was a team effort, including input from the following people: Eugene Ryzhikov, Samir Hadzic, Henri Biestro, Dirk Lemmermann, Tomas Mikula, ‘Badisi’, Jean-François Henrard, and Danno Ferrin. It is due to these fine folks hard work that we have this release today!

Secondly, the reason why this release is two months in the making rather than the usual one month cycle is that we decided to improve the ControlsFX sampler program. It is now more generic (it is a totally separate application now), and because of this we are able to support other third party JavaFX projects. What this means is that other projects (such as JFXtras, for example) can now use the FXSampler app to demonstrate their own features, which saves them from having to write their own sample app. The ControlsFX team is more than happy to help other third party projects to make use of the FXSampler framework, just reach out to us in our Google groups. As of now the JFXtras team is already in the process of porting their samples to use this new framework.

Read the rest of this entry »

A very quick post today as I’m running out the door, but needless to say there are a bunch of good links and I hope you enjoy them as much as I did! :-)

Catch you next week!

Wow! This week is by far the best week of links in a long time (sorry past weeks, but once you read through here I’m sure you’ll agree). There is so much going on now with Java on the desktop, and now on mobile platforms too (maybe these blog posts will need a name change soon) :-) I won’t spoil all the good details, but it is great to see things like professional services springing up for open source projects, blog posts from the likes of Intel and NASA, all the interesting progress on open source projects, and of course the progress towards getting JavaFX running on mobile platforms

I hope you agree, a good week of links! Catch you all next week, and keep up the great work everyone! :-)

A number of great posts this week! Enjoy! :-)

I hope that was useful to everyone! :-) Catch you all again next week!

A heap of links this week! Keep up the great work folks :-)

Catch you all next week.

Welcome all to another weeks worth of links. Enjoy :-)

Catch you all in a weeks time! :-)

A bunch of links this week. Enjoy! :-)


Catch you all in a week: same bat time, same bat channel! :-)

A relatively quiet week this week – it seems people are recovering after JavaOne, or getting prepared for all the Java-related conferences that seem to kick off this time of the year in Europe! :-) In any case, enjoy the links from the past week and I’ll catch you again next week with more :-)

  • The big news this week is that the OpenJFX project announced it is now fully open source (barring source code that cannot be open sourced as it is not owned by Oracle). This announcement came due to the release of the media source code.
  • With the recent release of ControlsFX 8.0.2, I interviewed Eugene Ryzhikov to introduce one of the main guys behind the project and to see where he sees the project going in future releases.
  • Stephen Chin has announced that he will be interviewing James Gosling again on Wednesday, October 23rd at 8AM Hawaii Time, which is apparently 11AM PST. As Stephen notes, “during this broadcast we will show some of the footage of his aquatic robots, talk through the technologies he is hacking on daily, and do Q&A with folks on the live chat. “
  • Pedro Duque Vieira has revisited and improved his Metro styling for JavaFX. It’s great to see people working on ‘native’ styles for JavaFX. We now have both a Metro and an Aqua style for JavaFX.
  • Geertjan Wielenga has posted about CaseLnk Case Management System, which is built using JavaFX and the NetBeans Platform.
  • Andy Till has published code for his floaty-field JavaFX component. You can see an animation at the previous link to better understand what this is all about.
  • The IDR Solutions blog has two posts this week. Firstly, George Perry posts about his three big takeaways from rewriting some of their Swing code in JavaFX. Secondly, Kieran France has posted about his experiments with JavaFX and Java 8, particularly around printing in JavaFX 8.0.

It has been a long time since I published an interview, but I’ve finally got back around to it and this week I’m pleased to have an interview with Eugene Ryzhikov, a long time Java desktop developer and open source contributor. I’ve been working with him for many months on ControlsFX, where he has been contributing large amounts of code and many of the features you see in ControlsFX are directly due to his hard work. Hopefully in the coming months I’ll start publishing more interviews again, but as always it depends on time! Right, let’s get into the interview – enjoy! :-)

Eugene Ryzhikov

Hi Eugene – could you please introduce yourself?
I’m a graduate of Kaunas Technology University with a Masters in Computer Engineering. But since my early days I have been involved in software development, starting with the now archaic PL1 and several assembly languages, Borland IDEs, before moving to Java in the 90′s and now sharing my programming time between Java and Scala, which I can only praise. Thankfully, Java is moving in the same direction, which is evident in Java 8 Lambdas.

It would be fair to say you’re a relative newcomer to the JavaFX world. What did you do before your involvement in JavaFX?
I was always a big fan of Desktop UI. It started from the early days of Turbo Pascal and then Delphi. I started working with Java in 1999 and have used Swing since then in most of my applications. I have developed several open source frameworks to enhance the capabilities of Swing.

I was watching JavaFX closely for several years. The switch to JavaFX 2 won me over, but I did not have enough experience in it. The solution was obvious – I had to be involved in the development of an open source JavaFX-based library. Luckily, you started ControlsFX approximately at the same time as I was looking for one, so I offered my help.

Are you employed to work on Java desktop software, or is Java desktop just a hobby of yours?
I consider myself lucky – my work and my hobby overlap. I currently work as a Software Architect. One of the big systems I started and am still involved with is related to energy trading. The client side of this system is Swing based and I developed several libraries to simplify development of required UI features and many parts of the UI itself. 

Is ControlsFX your only open source project that you are involved in?
As I said before, I have several Java and Scala based projects. One of the most popular ones is Project Oxbow. This is a collection  of useful components and utilities for Swing. The main components of it are the JTable Filtering and Task Dialog framework. The experience gained in developing the Swing Task Dialogs was directly applied to the dialog framework in ControlsFX.

ControlsFX 8.0.2 was just released. What plans do you have for future releases of ControlsFX?
I’m still surprised that ControlsFX gathers so much interest even though it only supports the as-of-yet unreleased version of JavaFX 8. At the same time it’s very exciting. I do have a lot of plans and ideas. Some of these include new controls, such as a popover control. A more grandiose one is a validation framework for JavaFX. I’ve made one in Swing once, but JavaFX presents new ideas and challenges. For example, observable collections, the new JavaFX property standard, and property binding greatly simplify many aspects of JavaFX development. CSS support makes for rethinking the whole “Look and Feel” part and is simply amazing!

What is the best way for people to see, interact and learn about ControlsFX?
There are many.  We have a lot of active discussions on the ControlsFX mailing list. General information is available at controlsFX.org and fxexperience.com. The library has an excellent JavaDoc, thanks to your relentless efforts. A lot of information can also be found at our Bitbucket repository. There are many interesting discussions related to issues and pull requests there.

How can people join in the project? Are you welcoming contributions to ControlsFX?
Everyone can contribute if they so choose; it’s so easy nowadays with sites like Bitbucket and GitHib. ControlsFX is truly an open source project. Currently we have contributions from 14 developers. Joining is super easy: sign the CLA at http://cla.controlsfx.org, fork the project at https://bitbucket.org/controlsfx/controlsfx  and send pull requests with your contributions. A contribution does not have to be code or a new control. For example, we are always looking to improve the quality of our JavaDocs, our tests or our samples. Your contribution can be in the form of an issue or feature request submitted to our issue tracker.

What has been your experience in wrapping your head around the way JavaFX works?
I like it a lot. My previous Swing experience helps a lot, but there are so many new exciting features, like CSS support, observable collections, better controls development process etc. JavaFX still has many surprises to reveal.

If you could change or improve any aspect of JavaFX, what would you do? Or, what are you really wanting to see in future releases of JavaFX?
As I said before, I am a big fan of Scala and functional programming in general. It is a great paradigm, especially for UI development. We don’t have to go far to see it – just look at how much easier ScalaFX or GroovyFX  frameworks make JavaFX development. Thankfully, this is not a dream anymore – Java 8 takes a huge step towards functional programming with Lambda and I’m certain Java developers will appreciate it. And it can only get better from there.

What is your setup for developing JavaFX-related code? Do you have a preferred IDE or any tips?
I’m OS agnostic. I have a Windows 8 desktop with Ubuntu VM on it and my laptop  is a MacBook Pro. I run Eclipse IDE on all of these platforms. I usually develop on Windows, but on the road, I do it on my Mac. This allows for greater flexibility and great testing – there are still small differences we have to deal with on each platform to make ControlsFX play nicely with all of them.

Thanks so much for taking the time to answer these questions! Do you have anything else you would like to add?
Just want to say thanks to everyone for the feedback , support, and contributions; we do try to keep up the highest possible standards in ControlsFX. Keep ‘em coming!