- Overview
- Demo
- Features
- JavaFX Versions
- Dependencies
- Usage
- Code building
- Running Sampler
- License
- Feedback
Techsenger StagePro is a library that allows you to create custom stages with nearly any configuration, while remaining easy to use. The project also includes a sampler module, featuring key samples to help you get started with the library.
Key features include:
- Fully customizable title bar configurations.
- Support for dynamic configuration changes.
- Ability to place basic buttons on either the left or right side.
- Two policies for the maximize button.
- Styling with CSS.
- Dark mode support.
- Size effect (disabled by default).
- Only two events triggered during resizing (start and finish).
Currently, shadow for Stage is not supported, as it seems there is no way to set a shadow around a Stage using JavaFX. It is likely that this can only be achieved using native code.
Due to some bugs, use JavaFX versions 16–20, or a version of JavaFX after 24-ea+19 (see JDK-8344372).
The project will be added to the Maven Central repository in a few weeks.
To create a standard Stage, use the code below. To explore all features, check out the examples in the sampler.
@Override
public void start(Stage stage) {
var controller = new StandardStageController(stage, 800, 600);
var content = new VBox(...);
controller.setContent(content);
stage.show();
}
To build the library use standard Git and Maven commands:
git clone https://github.com/techsenger/stagepro
cd stagepro
mvn clean install
To run the sampler execute the following commands in the root of the project:
cd stagepro-sampler
mvn javafx:run
Please note, that debugger settings are in stagepro-sampler/pom.xml
file.
Techsenger StagePro is licensed under the Apache License, Version 2.0.
Any feedback is welcome. Besides, it would be interesting to know for what cases this project is used. It will help to understand the way the project should go and provide more information in documentation.