CoreFx declares JavaFX with provided scope — it does
not bundle a JavaFX runtime, so your app controls the
version and OS classifier. Add JavaFX 25 (javafx-controls,
javafx-fxml) or you will hit NoClassDefFoundError
at runtime.
CoreFx declara JavaFX con scope provided — no
empaqueta un runtime de JavaFX, así que tu app controla la versión y el
classifier del SO. Añade JavaFX 25 (javafx-controls,
javafx-fxml) o te encontrarás con NoClassDefFoundError
en tiempo de ejecución.
Stop rewriting the same plumbingDeja de reescribir la misma fontanería
Every JavaFX app re-implements the same wiring. CoreFx is that wiring — done once, done well.Cada app JavaFX reimplementa el mismo cableado. CoreFx es ese cableado — hecho una vez y bien.
A singleton to switch screens, a place to stash the logged-in user, helpers to
wire up tables, a way to theme scenes, and a validation toolkit. CoreFx is a small,
dependency-free library (JavaFX aside) where every class is final, null-safe
by contract, and documented. The runtime-free classes ship with a
47-test JUnit suite.
Un singleton para cambiar de pantalla, un lugar donde guardar el usuario conectado,
ayudantes para armar tablas, una forma de aplicar temas y un kit de validación. CoreFx es una
librería pequeña y sin dependencias (más allá de JavaFX) donde cada clase es final,
null-safe por contrato y está documentada. Las clases sin dependencia del runtime incluyen una
suite JUnit de 47 pruebas.
Everything a JavaFX app needsTodo lo que una app JavaFX necesita
A navigation engineUn motor de navegación
One FlowController to load FXML views, swap scenes, open modals (blocking or
not) and manage windows — with a cached loader per view.Un único
FlowController para cargar vistas FXML, cambiar escenas, abrir modales (bloqueantes o no) y
administrar ventanas — con un loader cacheado por vista.
Shared stateEstado compartido
A thread-safe AppContext key-value store for the current user, selected
records and feature flags.Un almacén clave-valor AppContext
thread-safe para el usuario actual, registros y feature flags.
Live themingTheming en vivo
A ThemeManager that applies named CSS theme sets to any scene and re-applies
them on the fly.Un ThemeManager que aplica conjuntos de temas CSS
con nombre a cualquier escena y los reaplica al vuelo.
InternationalizationInternacionalización
Inject a ResourceBundle once and every FXML view loads localized — switch
locale at runtime.Inyecta un ResourceBundle una vez y cada vista
FXML se carga localizada.
Tested utilitiesUtilidades probadas
Null-safe Validator, a standardized Answer wrapper, type-safe
TableUtils, input filters and more.Un Validator
null-safe, un envoltorio Answer, TableUtils con tipos seguros, filtros y
más.
Agnostic persistencePersistencia agnóstica
EntityManagerHelper lazily creates and caches a persistence manager from a
supplier you provide.EntityManagerHelper crea y cachea de forma
perezosa un gestor de persistencia desde un supplier.
Quick startInicio rápido
A complete, minimal JavaFX application backed by CoreFx.Una aplicación JavaFX mínima y completa apoyada en CoreFx.
import io.github.dinamo541.corefx.navigation.FlowController;
import javafx.application.Application;
import javafx.stage.Stage;
public class MyApp extends Application {
@Override
public void start(Stage stage) {
FlowController flow = FlowController.getInstance();
flow.initialize(
stage, // the primary stage
"My Application", // window title
"/com/example/views/", // folder holding your .fxml files
"/com/example/resources/", // folder holding other resources
"/com/example/icon.png", // application icon
MyApp.class // class used to resolve resources
);
// Loads /com/example/views/Home.fxml, builds the scene, and shows it.
flow.goViewMain("Home");
}
public static void main(String[] args) {
launch(args);
}
}
The modulesLos módulos
Four packages under io.github.dinamo541.corefx. Pick one to
explore its classes in depth.Cuatro paquetes bajo
io.github.dinamo541.corefx. Elige uno para explorar sus clases.