Creating aggregate JavaFX bindings

The standard JavaFX API provides a class named Bindings that can be used to create all kinds of bindings your application may need. Methods in this class can be used to translate any Observable, ObservableValue, Binding, Expression, and/or Property into another Binding, regardless of their original type. Here’s for example how you could translate a StringProperty into an IntegerBinding, by exposing the length of the contained String: StringBinding sourceBinding = … // initialized elsewhere IntegerBinding lengthBinding = Bindings.createIntegerBinding( () -> sourceBinding.get().length(), sourceBinding); While quick and to the point we’re forced to read the value directly from the inputs (in this Read More


Announcing DesktopPaneFX

Recently at work we faced the need of implementing a user interface that delivered similar features as the ones exposed by Java Swing’s JDesktopPane but for JavaFX. Unfortunately JavaFX does not provide such component out of the box, nor do the most common JavaFX controls projects out there. There are however a few attempts to put something together but most never left the prototype stage or have been abandoned. That’s how I found JavaFXMDI, which seemed to have the right approach but was left unattended for close to 3 years. Fortunately the code was published as Open Source, thus after Read More


May Java be with You!

May was quite a hectic but fun month for me. The month began with a new state of mind as I found myself without a job albeit not for long as I’d join my next employer at the beginning of June, and though that was the plan all along I couldn’t shake the feeling of having to cut short a particular experience just to get back to work e-mails. Despite finding myself unemployed for a month I didn’t get much time to slack off as the next 5 weeks proved to be quite the ride round the globe (quite literally!) Read More


Contributing to JavaFX

Johan Vos (@johanvos) has setup a mirror of the official OpenJFX codebase as a repository at Github (https://github.com/javafxports/openjdk-jfx. This repository allows anyone interested in contributing to JavaFX to be able to send patches to the project. Would you like to join the efforts to move JavaFX forward? These are the steps you must follow with the current pipeline: Have a Github account. It only takes a few minutes to setup and it’s free! Have a bug/feature in mind you’d like to see fixed/added to JavaFX. Browse the list of open issues at https://github.com/javafxports/openjdk-jfx/issues to see if you can help; discussing Read More


2017 in Review

2017 has been a hectic year to say the least, however on the JVM side of things I’m quite happy with the results so far. We’ve got a brand new release of Java in September! The feature list added to Java9 is impressive, you can catch a glimpse of what’s new in Trisha’s (@trisha_gee) Real World Java 9 talk. Of course the elephant in the room when it comes to Java 9 is Jigsaw. Developers around the world are still trying to figure out how to get their tools and libraries to work with the new modular system, I recommend Read More


Become a patron

I’ve been working with Open Source code for more than 2 decades, first as a consumer then as an active producer. Working in Open Source has been a very rewarding experience, it has helped me hone my skills as a programmer, discover and learn quite a good number of programming languages (my favorite being Groovy in the JVM so far), interact with people all over the world. Alas writing and supporting Open Source takes time and effort. Most of the work I’ve done so far in this space has been done on my spare time, any related expenses have come Read More


Keeping your codebase healthy

Maintaining a project in a healthy state should have a higher priority in light of recent events. There are a handful of techniques and measures that can be applied to keep the codebase neat and tidy. If your project is built with Gradle then the following list may come in handy when taking matters in to your own hands: ossindex versions license jdeps jacoco checkstyle pmd findbugs/spotbugs codenarc sonarqube Each plugin takes care of an specific dimension and together they can strengthen your codebase. Let’s begin with the ossindex plugin. This plugin scans project dependencies and checks if there are Read More


Happy 9th Birthday Griffon!

Today marks the 9th anniversary of Danno’s announcement of Griffon 0.0. It’s been quite the ride since then, and lots of fun if I may say so. As Danno noted, Griffon began life as a fork of the Grails codebase at the time. He literally copied the Grails source, removed everything that was related to HTTP and Servlets and added Swing on top. This allowed Griffon to bootstrap itself very quickly and begin its own journey. The feedback we’ve got was very positive and we happily continued adding more features, letting Griffon to have it’s own identity. Plugin support was Read More


Open Source Tools: Reports – Coverage

Measuring code coverage is a good way to figure out if a project has a healthy codebase or not. There is no magic number for coverage, as with many things it software the right answer depends on the context; this being said some projects strive for the perfect 100% and will relentlessly pursue that goal, no matter what. There are a handful of projects in the Java space that can calculate the coveted number: Cobertura, JaCoCo, and OpenClover. Of the three I’d say JaCoCo is the one I use most for the following reasons: JaCoCo delivers better branch coverage statistics Read More


Open Source Tools: Licensing

A key aspect for a FLOSS project to be successful is to choose the correct licensing scheme. There are tons of license you can choose from, a good starting point would OSI’s Licenses & Standards page. Take some time to review some of them, as each one defines duties and benefits that you as an author, your contributors, and the users of your code have access to. When in doubt please contact someone that’s knowledgeable in the subject, for example you can reach out to the OSI directly, or ask at the mailing list/forum of a popular project which may Read More


ˆ Back To Top