Oshan96 / CustomStage

A JavaFX UI framework to create fully customized undecorated windows
Apache License 2.0
198 stars 18 forks source link
api customstage framework java javafx javafx-frameworks javafx-library jitpack stage tool undecorated-stage undecorator wiki

CustomStage Mentioned in Awesome JavaFX

A JavaFX undecorated stage which can fully be customized

Download Licence(https://img.shields.io/github/license/Oshan96/CustomStage.svg) Total Downloads JitPack HitCount

Donations

If this project is helpful to you and love my work and feel like showing love/appreciation, would you like to buy me a coffee?
Buy Me A Coffee

An Implementation See the code in wiki at "A complete implementation"

CustomStage Implementation

Additional Tools provided (After v1.3.0)

Checkout the CustomStage Wiki for more examples and documentation.

Using CustomStage ?

Project_Name : Brief_Description

Projects using CustomStage

Overview

This CustomStage is a JavaFX undecorated Stage. To put it simple, CustomStage is a Window and you can add different views (FXML files) to the window (like changing the scene of the window) as you prefer. The basic problem making the Stage "Undecorated" is that you will not be able to, 1) Resize the window using mouse. 2) Lose the default action buttons. 3) Move the window (by dragging) (etc.)

So, CustomStage will get rid of all of these issues since it includes, 1) Window resizing (the ResizeHelper class is used here with minor modifications) -> ResizeHelper class 2) Default action buttons and their behaviour (close, maximize/restore, minimize) 3) Window dragging

What else?

How?

How to use?

Starting from version 1.3.1 CustomStage releases are/will be available through JCenter and MavenCentral

Maven

<dependency>
    <groupId>lk.vivoxalabs.customstage</groupId>
    <artifactId>CustomStage</artifactId>
    <version>1.3.2</version>
</dependency>

Gradle

  dependencies {
    compile 'lk.vivoxalabs.customstage:CustomStage:1.3.2'
  }

Download via Jitpack (Will not be possible for releases after v1.3.1)

Gradle

Add jitpack as a repository

repositories {
    maven { url 'https://jitpack.io' }
}

Add dependancy

dependencies {
    compile 'com.github.Oshan96:CustomStage:v1.3.1'
}

Maven

Add jitpack as a repository

<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>

Add dependancy

<dependency>
  <groupId>com.github.Oshan96</groupId>
  <artifactId>CustomStage</artifactId>
  <version>v1.3.1</version>
</dependency>

Or download and add as a dependancy to your project

How to use a CustomStage?

CustomStage

Transparent CustomStage

CustomStage with custom icons

Documentation

CustomStage API Documentation can be found here : CustomStage Documentation

Any issue detected?

:D

Feel free to post issues in "Issues" for further improvements