JavaFX is problematic because of its licensing. It's a GPL project so it generally has very poor compatibility with Apache. I think it's possible to use it with a custom non-apache build or to provide tools to download Java FX as part of the Modeler installation, but we cannot distribute it directly as part of official Apache binaries. But that is a legal question that I do not fully understand, despite several attempts to comprehend it.
[1] https://www.apache.org/licenses/GPL-compatibility.html [2] https://www.apache.org/legal/resolved.html#gpl-cpe [3] https://www.apache.org/legal/resolved.html#prohibited On Mon, May 4, 2026 at 1:25 AM Michael Gentry <[email protected]> wrote: > So... Just to add some JavaFX commentary here... > > I still think the JavaFX prototype I did is worthwhile for fleshing out. > You can edit your UI in Scene Builder and wire everything up easily. For > most of the typical tasks, it is easy to continue with what is there > (basically connecting inputs -- text fields, etc -- to the backend data > model). A couple months ago I started adding Undo/Redo to it and need to > pick that up again. Probably need a few days to implement it (at least > partially, might not get all the undo/redo things done initially). > Allergies and taxes were a distraction, but I should start it again. > > Thanks, > mrg > > > On Mon, Apr 20, 2026 at 10:24 AM Andrus Adamchik <[email protected]> > wrote: > > > So I feel like the advent of agentic coding opens up new possibilities > for > > CayenneModeler. While some want you to think you can simply prompt Claude > > to "Rewrite CayenneModeler in JavaFX" (or Electron or JetBrains Compose > > Multiplatform), still with our limited resources, building and supporting > > an entirely new thing is realistically out of reach. > > > > But I think we can take the current Swing app to a new level by > augmenting > > our rusty Swing skills with AI. A few of my experiments adding this or > that > > UI piece were mostly successful. A few idea on top of my mind: > > > > 1. A built-in MCP server for DB Import and CGen. This is to close the > loop > > on agentic coding, allowing to use both of these tools from an agent CLI. > > (The MCP idea was what prompted me to look into this to begin with) > > 2. Fix table editors UX (selections conflicting with cell editors) > > 3. Write unit tests > > 4. Modernizing L&F. Not sure how far we can get while staying in Swing, > > but worth a try. Looking at FlatLaf lib, which is a successor of JGoodies > > that we already use > > 5. Implement dozens of small usability features (such as showing > currently > > selected Obj|DbEntity in tab view headers, etc.) > > > > My first pass (about 70% done) was not anything visual, but rather > > refactoring the existing messy code to rid it of various architectural > > experiments accumulated over the years (such as auto-bindings) and > unifying > > the MVC structure to be as close as possible to vanilla Swing. > Ironically, > > Claude was not that helpful in this process. It was good old IDE > > refactoring, manually going through hundreds of files chasing dead code > and > > inconsistencies. > > > > Anyways, just putting this on the radar. > > > > Andrus > -- Best regards, Nikita Timofeev
