GNDecorator Save

Modern window decorator for javafx applications

Project README

GNDecorator

This project is part of the set of custom components created for JavaFx.

Sonatype Nexus (Releases) Release Build License

πŸ“‘ Contents

πŸ’» Environment

This lib is a compnent for JavaFx: Get in the offical website JavaFx, Tutorial Getting Started

I have a great workstation here, then I've using a gradle 7.2 and Java and JavaFx +16 on Windows. (I really want to test in other systems in future).

πŸš€ Installing Decorator

Now you have many ways to get that! !πŸ—’οΈNote ** The release has the first changes I made and releases in nexus are more stable πŸ₯Έ***

πŸ‘ŒIn code blocks find the copy button... is cooler, it automatically knows if your target is a pom.xml or gradle.build

For installing decorator, you have this options:

  • For Pros - Click on the badge release or click badge nexus on the top of this document, and you're going to redirect to hosted sources.
  • For Github Users - On the right side, you can see the packages and releases, click on them and download it, in case you are in packages just copy them into your build file.
  • For Faster users - Just copy and paste the code bellow

If you use maven add in pom.xml:

<dependency>
  <groupId>io.github.gleidsonmt</groupId>
  <artifactId>gndecorator</artifactId>
  <version>2.2.25</version>
</dependency>

.. or in gradle.build:

    implementation 'io.github.gleidsonmt:replaceVersionInREADME:2.2.25'

β˜• Using Decorator

Begin to use... Java Code!

  GNDecorator decorator = new GNDecorator();
  decorator.setTitle("JavaFx Application");
  decorator.setContent(content);
  decorator.fullBody() // the content occupies all of size
    
 // Adding menus 
  Menu menu = new Menu("File");
  menu.getItems().add(new MenuItem("Open"));
  menu.getItems().add(new MenuItem("Close"));
  decorator.addMenu(menu);
  decorator.addMenu(1, menu);// add with a index
        
  // Adding custom controls
  ButtonTest a1 = new ButtonTest("Button 1");
  decorator.addControl(a1);
  decorator.addControl(index, a1); // add with a index

🧬 Basic Structure

    root -> SstackPane
            body -> AnchorPane
                    top_left -> Path
                    top_right -> Path -- rotation 90Β°
                    bottom_left -> Path -- rotation 270Β°
                    bottom_right -> Path -- rotation 180Β°

Structure - by Scenic View

Structure

Default Structure

gif2

View Default

demo1

View Darkula

demo1

With gradient and image

demo1

πŸ“Ί On Youtube

Short Presentation here

πŸ›  Enhancements

Next steps:

  • Add Yosemite Theme
  • Add Windows Theme
  • The decoratorTheme in blank to customize
  • Public methods to update window icons with css.
  • Better pratices for one class receives state scope event (Clean Code)
  • Default Property to change bar height
  • Float options (css too)

πŸ“« Contributing to Project

To contributing to project, follow these steps:

  1. Fork this repository.
  2. Creates a branch: git checkout -b <branch_name>.
  3. Do your changes and commit: git commit -m '<commit_message>'
  4. Send a branch to origin: git push origin GNDecorator / <local>
  5. Creates pull request.

However, if you don't know How to create a pull Request.

πŸ˜„ Be a contritubutor

πŸ€–I really need more friends.. Send me a email .

πŸ“ License

This project is under license. See the file LICENSE to more details.

⬆ Back to the top

Open Source Agenda is not affiliated with "GNDecorator" Project. README Source: gleidsonmt/GNDecorator

Open Source Agenda Badge

Open Source Agenda Rating