Ikonli 12.0.0 Released!

I’m ecstatic to announce that Ikonli 12.0.0 is finally available for general consumption! Ikonli is the best way to add spice and character to JavaFX and Swing applications alike via configurable icons. Ikonli provides icon packs for popular icon sets such as FontAwesome, Material Design, Weather icons, and more. This release increases the number of icons packs from 31 to 55! That’s a lot of icons to choose from! There’s no need to hunt down icons on the web, it’s likely Ikonli provides just what you require. But in the case that wasn’t true Ikonli is extensible, allowing you to Read More


More JavaFX Related Announcements

Following up on the recent news of JavaFX 11 and Java 11 being released, I’d like to announce that the following JavaFX related projects have been released as well: Project Version Link JDK 8 JDK 9 JDK 10 JDK 11 HarmonicFX 0.2.0 https://github.com/aalmiray/harmonicfx Y P P P BootstrapFX 0.2.4 https://github.com/aalmiray/bootstrapfx Y Y Y Y DesktopPaneFX 0.12.0 https://github.com/aalmiray/desktoppanefx Y Y Y Y JSilhouette 0.3.0 https://github.com/aalmiray/jsilhouette Y Y Y Y Ikonli 2.4.0 https://github.com/aalmiray/ikonli Y N N N Ikonli 11.0.0 https://github.com/aalmiray/ikonli N N N Y Y: Fully supported. N: No support at all. P: Partial support; some classes may not work due to Read More


Ikonli 11.0.0 Released

Celebrating the recent release of JavaFX 11 and the upcoming release of Java 11 (any moment now!) I’d like to announce that Ikonli 11.0.0 is out! Judging by its number you can tell that this release synchronizes with both JavaFX 11 and Java 11. This release provides 30 icon packs (the same number as 2.4.0) but it requires Java 11 as a minimum. All artifacts have been fully modularized and take advantage of JPMS. You can configure and run your application on the module path or in the classpath, either way Ikonli will resolve your favorite icons. If running on Read More


Running Griffon Applications with JavaFX 11

JavaFX 11 has just been released! You can get the latest release and find more documentation about it at https://openjfx.io. Java 11 is just around the corner too. In order to prepare yourself for what’s coming here are the first details on modifying your Maven and Gradle builds to compile and run your Griffon project. Maven Make sure to have the latest Maven version installed. The current version is 3.5.4. Edit the pom.xml file and add a couple of additional properties <plugin.compiler.version>3.8.0</plugin.compiler.version> <javafx.version>11</javafx.version> Add the following dependencies to the <dependencies> block <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-base</artifactId> <version>${javafx.version}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-graphics</artifactId> <version>${javafx.version}</version> Read More


DesktopPaneFX 0.11.0 Released

Version 0.11.0 has just been released! You can download it directly from Bintray’s JCenter and/or Maven Central. This version delivers the following changes: Bulk window operations added to DekstopPane and InternalWindow. A richer set of InternalWindowEvent values. Ability to register explicit InternalWindowEvent event handlers on InternalWindow. Bulk operations include the following ones: minimizeAllWindows minimizeOtherWindows maximizeAllWindows maximizeVisibleWindows restoreMinimizedWindows restoreVisibleWindows closeAllWindows closeOtherWindows tileAllWindows tileVisibleWindows tileHorizontally tileVertically These operations are available as direct method calls on DesktopPane. All of them except for the tiling ones are also available when popping a contextual menu on the title bar of an InternalWindow. Events triggered by Read More


Griffon Becomes 10!

I’m quite ecstatic to say that today is Griffon’s 10th year anniversary! It all started way back in late 2007 when the Groovy Swing team decided to join forces and make the existing set of Groovy based builders for a handful of Java Swing widget sets more easy to mix and match to build better looking desktop applications. At that time Grails was making a big splash in the Groovy community, thus we decided to follow their lead and create a “Grails for desktop applications”, and so Griffon became a reality when Danno posted the announcement for Griffon 0.0 back Read More


DesktopPaneFX 0.9.0 released!

Version 0.9.0 of DesktopPaneFX has just been released! You can download it directly from Bintray’s JCenter and/or Maven Central. This version delivers the following changes: The title bar has been moved out from InternalWindow into its own component: TitleBar. This is a breaking change as some properties and methods have been migrated to the new class. InternalWindow can only be dragged from its title bar. Previous versions allowed dragging from anywhere within the window. InternalWindow now exposes a resizable property. There’s also a new incubating feature that made the cut: the ability to detach and attach windows to a DesktopPane. Read More


Sassy JavaFX

As may JavaFX developers know, it’s possible to style a JavaFX application using CSS, which is quite refreshing compared to previous alternatives. Unfortunately this CSS support is confined to a subset of CSS 2.1 (see here for more information). This means we can’t rely on the latest and greatest features available in CSS3 and beyond, bummer. However we can get some of those missing features (such as variables!) if we turn to less or Sass. I’ve picked Sass as at the time of writing both Gradle and Maven plugins for less seem to have stopped development altogether. Now, there are Read More


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


ˆ Back To Top