Refactoring and modified README.

This commit is contained in:
Konrad Neitzel 2025-04-02 18:51:31 +02:00
parent bc44eb31cd
commit 8694899e57
22 changed files with 37 additions and 43 deletions

View File

@ -1,29 +1,23 @@
# JavaFX Maven Project
# NeitzelLib Maven Project
Example Maven Project for a JavaFX Application.
Small Library with classes that I found helpfully or interesting.
**Update**: Added profile fatjar
The idea is not to diretly use anything from this library. It is only meant to provide some code which could be a quick start when required inside a project. So simply copy the classes that you need.
**Update**: Added reporting to create a site (html documentation of project)
## Components
**Update**: Java 21 is now fully supported
### core
This projects includes multiple plugins:
- Build of an App-Image using JPackage (Profile: image)
- Build of an fat jar (Profile: fatjar)
- Use of Maven Wrapper
- Static code analysis with PMD and Spotbugs
- Check of dependency updates during build
- JavaFX plugin to start application
This is the core library that does not have special dependencies like JavaFX.
**Requirements**
To use this Template, all you need is a local Java Installation.
My current advice is to use a long term supported (LTS) version of either Java 17 or Java 21.
It contains:
- **inject** Some small, basic Injection Library (Just a quick start)
- **sql** Helper classes to work with SQL in Java
**[Documentation in English](documentation/en/_Index.md)**
### fx
Library that extends JavaFX or helps with it.
**[Dokumentation in Deutsch](documentation/de/_Index.md)**
**Important: ChatGPT was utilized to generate the documentation based on
predefined content specifications, as it represents the fastest way to produce
comprehensive documentation.**
It contains:
- **component** Just a quick start where I experiment with the idea to have JavaFX components which means that we have a View to display a specific Model.
- **injectfx** Injection inside JavaFX, main idea is to use constructor injection on FXML controller to include required Elements.
- **mvvm** The mvvmFX project seems to get no more updates / is no longer maintained. In this area I am simply playing around with some helper classes to make the use of the mvvm pattern easier through generation of ViewModels. **Currently not really useable**

View File

@ -16,7 +16,7 @@
<link.name>${project.artifactId}</link.name>
<launcher>${project.artifactId}</launcher>
<appName>${project.artifactId}</appName>
<main.class>de.neitzel.core.fx.injectfx.example.Main</main.class>
<main.class>de.neitzel.fx.injectfx.example.Main</main.class>
<jar.filename>${project.artifactId}-${project.version}</jar.filename>
</properties>

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component.example;
package de.neitzel.fx.component.example;
import lombok.Getter;
import lombok.Setter;

View File

@ -1,6 +1,6 @@
package de.neitzel.core.fx.component.example;
package de.neitzel.fx.component.example;
import de.neitzel.core.fx.component.ComponentLoader;
import de.neitzel.fx.component.ComponentLoader;
import javafx.application.Application;
import javafx.scene.Parent;
import javafx.scene.Scene;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component.example;
package de.neitzel.fx.component.example;
/**
* Another Main class as workaround when the JavaFX Application ist started without

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component.example;
package de.neitzel.fx.component.example;
import lombok.Getter;
import lombok.Setter;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx.example;
package de.neitzel.fx.injectfx.example;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx.example;
package de.neitzel.fx.injectfx.example;
/**
* Another Main class as workaround when the JavaFX Application ist started without

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx.example;
package de.neitzel.fx.injectfx.example;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;

View File

@ -6,7 +6,7 @@
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
xmlns:nfx="http://example.com/nfx"
fx:controller="de.neitzel.core.fx.component.ComponentController"
fx:controller="de.neitzel.fx.component.ComponentController"
prefWidth="300" prefHeight="100">
<children>
<TextField layoutX="10" layoutY="10" prefWidth="280"

View File

@ -3,7 +3,7 @@
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<AnchorPane prefHeight="127.0" prefWidth="209.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.neitzel.core.fx.injectfx.example.MainWindow">
<AnchorPane prefHeight="127.0" prefWidth="209.0" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.neitzel.fx.injectfx.example.MainWindow">
<children>
<Button fx:id="button" layoutX="44.0" layoutY="70.0" mnemonicParsing="false" onAction="#onButtonClick" text="Click Me" />
<TextField fx:id="textField" layoutX="14.0" layoutY="24.0" />

View File

@ -6,7 +6,7 @@
<AnchorPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
xmlns:nfx="http://example.com/nfx"
fx:controller="de.neitzel.core.fx.component.ComponentController"
fx:controller="de.neitzel.fx.component.ComponentController"
prefWidth="300" prefHeight="180">
<children>
<TextField layoutX="10" layoutY="10" prefWidth="280"

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component;
package de.neitzel.fx.component;
import javafx.beans.property.*;
import java.lang.reflect.*;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component;
package de.neitzel.fx.component;
import lombok.Getter;
import lombok.RequiredArgsConstructor;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.component;
package de.neitzel.fx.component;
import javafx.beans.property.Property;
import javafx.fxml.FXMLLoader;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx;
package de.neitzel.fx.injectfx;
import de.neitzel.core.inject.InjectableComponentScanner;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx;
package de.neitzel.fx.injectfx;
import javafx.util.Callback;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.injectfx;
package de.neitzel.fx.injectfx;
import de.neitzel.core.inject.InjectableComponentScanner;
import javafx.fxml.FXMLLoader;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.mvvm;
package de.neitzel.fx.mvvm;
/**
* Enum representing the direction of data binding between a JavaFX control and a ViewModel property.

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.mvvm;
package de.neitzel.fx.mvvm;
import javafx.beans.property.Property;
import javafx.beans.property.StringProperty;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.mvvm;
package de.neitzel.fx.mvvm;
import javafx.fxml.Initializable;
import java.net.URL;

View File

@ -1,4 +1,4 @@
package de.neitzel.core.fx.mvvm;
package de.neitzel.fx.mvvm;
import javafx.beans.property.*;