bailuk / java-gtk

GTK bindings for Java
MIT License
105 stars 8 forks source link

GTK4 #3

Closed bailuk closed 2 years ago

HubKing commented 2 years ago

Since this project has no Q&A page, I could not think of another place to ask a question but here. The description says "experimental". How "experimental" is this? Is it usable to create a working GUI app? Or is it like a proof-of-concept or an alpha version? I am not going to create a professional commercial app, but I am thinking of creating a GUI app that constantly updates statuses (like once per second) in a TreeView, for my own use. Something like a combination of the following example images: a tree structure on the left and a progress bar/a checkbox columns.

image

image

bailuk commented 2 years ago

There is a lot that already can be done with java-gtk. I'm not sure about GTK TreeView. Lists that are backed up with data models might not always work.

java-gtk comes with some list examples:

Experimental means that there are are continuous changes to the API and core of java-gtk. Just recently I switched from JNI to JNA to access the c-libraries. Its a big improvement but at the same time it broke a few things that did work before. And as you can see from this PR I abandoned GTK 3 in favor of GTK 4. So expect things to change a lot. (and hopefully improve)

Limitations I know of:

My projects that use java-gtk

HubKing commented 2 years ago

Thank you for the detailed reply. I think I will probably work for me. Anyway. I tried to test the gtk-meteo example, but ./gradlew mapsforge-map-gtk:install failed with:

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

BUILD FAILED in 1m 38s

bailuk commented 2 years ago

There is no release of the mapsforge port to GTK so you have to clone my fork: https://github.com/bailuk/mapsforge and run ./gradlew mapsforge-map-gtk:install there (this will build and install the dependency in your local maven repo). Then just run ./gradlew run from gtk-meteo.