Skip to content

A library of material components for JavaFX

License

Notifications You must be signed in to change notification settings

eagleCoders/MaterialFX

 
 

Repository files navigation

HitCount GitHub Workflow Status Sonatype Nexus (Releases) GitHub issues GitHub pull requests GitHub


Logo

MaterialFX

MaterialFX is an open source Java library which provides material components for JavaFX
Explore the wiki »

Download Latest Demo · Report Bug · Request Feature

Table of Contents

About The Project and History of JavaFX

JavaFX is a software platform intended to replace Swing in creating and delivering rich client applications that operate consistently across diverse platforms. With the release of JDK 11 in 2018, Oracle has made JavaFX part of the OpenJDK under the OpenJFX project in order to increase the pace of its development.

Key features:

  • FXML and SceneBuilder, A designer can code in FXML or use JavaFX Scene Builder to interactively design the graphical user interface (GUI). Scene Builder generates FXML markup that can be ported to an IDE where a developer can add the business logic.
  • Built-in UI controls and CSS, JavaFX provides all the major UI controls required to develop a full-featured application. Components can be skinned with standard Web technologies such as CSS.
  • Self-contained application deployment model. Self-contained application packages have all the application resources and a private copy of the Java and JavaFX runtimes. They are distributed as native installable packages and provide the same installation and launch experience as native applications for that operating system. JavaFX is a software platform for creating and delivering desktop applications, as well as rich Internet applications (RIAs) that can run across a wide variety of devices.

Over the years the way of creating GUIs has often changed and JavaFX default appearance is still pretty much the same. That's where this project comes in. The aim of my project is to bring components which follow as much as possible the Google's material design guidelines to JavaFX. The second purpose is to provide a successor to the already available JFoenix library, which is a bit old and has a lot of issues.

Getting Started

In this section you can learn what do you need to use my library in your project or see a preview/demo which I'm planning to release as runtime images here on github.

Build

To build MaterialFX, execute the following command:

gradlew build

To run the main demo, execute the following command:

gradlew run

NOTE : MaterialFX requires Java 11 and above.

Usage

Gradle
repositories {
    mavenCentral()
}

dependencies {
implementation 'io.github.palexdev:materialfx:11.10.1'
}
Maven
<dependency>
  <groupId>io.github.palexdev</groupId>
  <artifactId>materialfx</artifactId>
  <version>11.10.1</version>
</dependency>

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU GPLv3 License. See LICENSE for more information.

Contact

Alex - [email protected]
Discord

Project Link: https://github.com/palexdev/MaterialFX

Donation

Ever since I was a kid I have always liked programming, I find it interesting and often funny too, however it can also be a difficult and stressful job at times. This is my first public project, and I'm dedicating a lot of time to it. This is an open source library of course and everyone can use it for free, but if you feel like it you can make a small donation here. Donate

About

A library of material components for JavaFX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 93.5%
  • CSS 6.5%