MCPcopy Index your code
hub / github.com/dooApp/FXForm2

github.com/dooApp/FXForm2 @FXForm2-11.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release FXForm2-11.0.0 ↗ · + Follow
1,452 symbols 3,859 edges 259 files 300 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FXForm 2

Stop coding forms: FXForm 2 can do it for you!

About

FXForm2 is a library providing automatic JavaFX form generation.

How does it work?

  1. Write your model bean
  2. Generate your form using FXForm2
  3. Style it using CSS, skins and resource bundles!

Quick start

Add FXForm to your project dependencies:

<dependency>
    <groupId>com.dooapp.fxform2</groupId>
    <artifactId>core</artifactId>
    <version>9.0.0</version> 
</dependency>

Get your FXForm...

FXForm<MyBean> fxForm = new FXForm<MyBean>(myBean);

...and add it to your scene!

See Get started.

For more use cases, see samples.

Features

Main features include:

  • Automatic form generation and binding to bean properties
  • CSS support
  • Bean Validation handling (JSR 303)
  • Fields reordering and filtering
  • Tooltips
  • Localization
  • Custom factories

Key benefits

  • Don't waste time coding forms, focus on styling
  • Less code and improved quality
  • Easy to use and to customize

Keep in touch

Reports

Links

Articles about FXForm2 on dooApp technical blog.

A video by Betrand Goetzmann with Grezi and FXForm2: [http://screenr.com/GvDs]

JavaFX Third Party Tools and Utilities

Considerations about GUI Generation with JavaFX and Using FXForm2 with EMF Models by Uwe.

Oliver Probst. Investigating a Constraint-Based Approach to Data Quality in Information Systems, 12.2.5.1 FXForm2, pages 85-88.

Infiltrea, an application dedicated to the measure of the airtightness of buildings, is using FXForm2.

Licensing

FXForm2 is licensed under the Lesser GPL license.

Build status

Build Status

Extension points exported contracts — how you extend this code

Disposable (Interface)
Something that can be disposed. Created at 17/10/11 15:52. @author Antoine Mischler [21 implementers]
core/src/main/java/com/dooapp/fxform/utils/Disposable.java
AddressSuggestionProvider (Interface)
User: Antoine Mischler Date: 27/10/2017 Time: 15:17 [2 implementers]
extensions/src/main/java/com/dooapp/fxform2/extensions/AddressSuggestionProvider.java
ElementFactory (Interface)
User: Antoine Mischler Date: 14/10/12 Time: 12:04 [8 implementers]
core/src/main/java/com/dooapp/fxform/model/ElementFactory.java
FactoryProvider (Interface)
Created at 28/09/12 10:45. @author Antoine Mischler [12 implementers]
core/src/main/java/com/dooapp/fxform/view/factory/FactoryProvider.java
PropertyProvider (Interface)
User: Antoine Mischler Date: 30/09/12 Time: 09:49 [11 implementers]
core/src/main/java/com/dooapp/fxform/view/property/PropertyProvider.java
Adapter (Interface)
Created at 27/09/12 10:57. @author Antoine Mischler [10 implementers]
core/src/main/java/com/dooapp/fxform/adapter/Adapter.java

Core symbols most depended-on inside this repo

get
called by 261
demo/src/main/java/com/dooapp/fxform/ObjectPropertyObserver.java
getNode
called by 73
core/src/main/java/com/dooapp/fxform/view/DisposableNode.java
setSource
called by 69
core/src/main/java/com/dooapp/fxform/FXForm.java
getType
called by 37
core/src/main/java/com/dooapp/fxform/model/Element.java
addListener
called by 32
core/src/main/java/com/dooapp/fxform/model/impl/BufferedElement.java
getElements
called by 26
core/src/main/java/com/dooapp/fxform/model/ElementProvider.java
getName
called by 26
core/src/main/java/com/dooapp/fxform/model/impl/BufferedElement.java
getFilteredElements
called by 24
core/src/main/java/com/dooapp/fxform/AbstractFXForm.java

Shape

Method 1,110
Class 314
Interface 22
Enum 6

Languages

Java100%

Modules by API surface

core/src/main/java/com/dooapp/fxform/AbstractFXForm.java62 symbols
core/src/main/java/com/dooapp/fxform/view/FXFormSkin.java30 symbols
core/src/test/java/com/dooapp/fxform/issues/Issue171Test.java23 symbols
core/src/main/java/com/dooapp/fxform/view/factory/impl/SubClassFactory.java20 symbols
core/src/main/java/com/dooapp/fxform/view/control/map/MapEntryElement.java20 symbols
demo/src/main/java/com/dooapp/fxform/MyBean.java19 symbols
core/src/main/java/com/dooapp/fxform/model/impl/AbstractSourceElement.java17 symbols
samples/src/main/java/com/dooapp/fxform/samples/ListPropertyForm.java16 symbols
core/src/main/java/com/dooapp/fxform/model/impl/BufferedElement.java16 symbols
core/src/main/java/com/dooapp/fxform/builder/FXFormBuilder.java16 symbols
demo/src/main/java/com/dooapp/fxform/Demo.java15 symbols
core/src/test/java/com/dooapp/fxform/issues/Issue112Test.java15 symbols

For agents

$ claude mcp add FXForm2 \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact