Exciting to read about an actual, real application in “This week in GNOME” that’s using Java-GI for its UI!
Exciting to read about an actual, real application in “This week in GNOME” that’s using Java-GI for its UI!
I added a Clojure example to the Java-GI examples repository: https://github.com/jwharm/java-gi-examples/tree/main/HelloWorldClojure
I'm not a Clojure developer myself, so the code is a direct port of the Java "Hello World" example app, and not very "clojure-like" I guess 🙂
The Java-GI application template now uses #Blueprint for the user interface definitions.
If you're interested, give it a try: https://github.com/jwharm/java-gi-app-template
Yesterday I released Java-GI 0.14.1, and today I did all of the related busywork: updating the examples, the template app, and the documentation.
Most notable new feature in this release: When you define a GObject-derived class in Java with enum or flags getter/setter methods, Java-GI will automatically register a GType for the Java enums and create GObject properties for them.
Release notes: https://github.com/jwharm/java-gi/releases/tag/0.14.1
I'm really tempted to jump to version 1.0 next time...
I've released Java-GI version 0.14.0-RC1: https://github.com/jwharm/java-gi/releases/tag/0.14.0-RC1
Java-GI (https://java-gi.org) provides Java bindings for Gtk, LibAdwaita, GStreamer and other GObject-Introspection-based libraries.
Release 0.14.0 will upgrade the bindings to GNOME 49, introduce JSpecify nullability annotations, and several other fixes and improvements.
I've finally have a working "Java-GI application template" with working localization, settings, desktop file, manifest, icons, etc, that can be distributed as a Flatpak. It's available here:
https://github.com/jwharm/java-gi-app-template
The application uses Gradle to build the source code, and Meson to install settings, resources, translations etc. Currently, both build systems are triggered separately from the Flatpak manifest. I will try to improve this, so that meson triggers the gradle build (or vice versa).
The screenshot shows the dutch (nl) translation that demonstrates the gettext integration.