ZoeFX core

ZoeFX is a MVC framework based on JavaFX.

License

License

GroupId

GroupId

com.axiastudio
ArtifactId

ArtifactId

zoefx-core
Last Version

Last Version

0.2.1
Release Date

Release Date

Type

Type

jar
Description

Description

ZoeFX core
ZoeFX is a MVC framework based on JavaFX.
Project URL

Project URL

http://www.zoefx.com
Source Code Management

Source Code Management

https://github.com/axiastudio/zoefx-core

Download zoefx-core

How to add to project

<!-- https://jarcasting.com/artifacts/com.axiastudio/zoefx-core/ -->
<dependency>
    <groupId>com.axiastudio</groupId>
    <artifactId>zoefx-core</artifactId>
    <version>0.2.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.axiastudio/zoefx-core/
implementation 'com.axiastudio:zoefx-core:0.2.1'
// https://jarcasting.com/artifacts/com.axiastudio/zoefx-core/
implementation ("com.axiastudio:zoefx-core:0.2.1")
'com.axiastudio:zoefx-core:jar:0.2.1'
<dependency org="com.axiastudio" name="zoefx-core" rev="0.2.1">
  <artifact name="zoefx-core" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.axiastudio', module='zoefx-core', version='0.2.1')
)
libraryDependencies += "com.axiastudio" % "zoefx-core" % "0.2.1"
[com.axiastudio/zoefx-core "0.2.1"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

ZoeFX

ZoeFX is a MVC framework based on JavaFX.

Step 1 - define the entities

In ZoeFX an entity can be a simple class with getters and setters or with public fields.

public class Book {
    public String title;
    public String description;
    public Genre genre;
    public Author author;
}

The entity can live in a persistence container, but this is not mandatory.

@Entity
public class Book {
    @Id
    public Long id;
    @Column
    public String title;
    @Column
    public String description;
    @Column
    public Genre genre;
    @ManyToOne
    public Author author;
}

Step 2 - design the forms

The forms in ZoeFX are designed with the Oracle Scene Builder. Every component that can hold a value can be linked to a field thru the fx:id property.

Scene Builder

Step 3 - put all together

The ZSceneBuilder build a scene binding the entities to the UI.

Database database = new NoPersistenceDatabaseImpl();
Utilities.registerUtility(database, Database.class);

primaryStage.setScene(ZSceneBuilder.create()
        .url(QuickStart.class.getResource("books.fxml"))
        .controller(new Controller())
        .manager(database.createManager(Book.class))
        .build());

primaryStage.setTitle("Zoe FX Framework - Quick start Books");
primaryStage.show();

ZoeFX form

In this sample the entities are stored in memory, and the application uses only the jre.

Note: the zoefx-persistence package is a JPA2 implementation (Hibernate):

Database database = new JPADatabaseImpl();
database.open("persistence-unit");

Resources

com.axiastudio

AXIA Studio

Versions

Version
0.2.1
0.2.0
0.1.1