Explorar o código

Code style review part 1/2

Signed-off-by: PAlex404 <alessandro.parisi406@gmail.com>
PAlex404 %!s(int64=4) %!d(string=hai) anos
pai
achega
b3def05c55
Modificáronse 72 ficheiros con 403 adicións e 290 borrados
  1. 9 9
      .github/workflows/gradle.yml
  2. 21 21
      .run/MaterialFX [build].run.xml
  3. 21 21
      .run/MaterialFX [clean].run.xml
  4. 21 21
      .run/MaterialFX [jlinkZip].run.xml
  5. 22 21
      .run/MaterialFX [materialfx_uploadArchives].run.xml
  6. 21 21
      .run/MaterialFX [run].run.xml
  7. 21 21
      .run/MaterialFX [testrun].run.xml
  8. 16 16
      .run/Run Tests.run.xml
  9. 49 23
      README.md
  10. 2 2
      demo/src/main/resources/io/github/palexdev/materialfx/demo/css/demo.css
  11. 1 1
      materialfx/build.gradle
  12. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/beans/binding/BooleanListBinding.java
  13. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/collections/CircularQueue.java
  14. 2 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckTreeItem.java
  15. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckTreeView.java
  16. 3 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckbox.java
  17. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXComboBox.java
  18. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXDatePicker.java
  19. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXFilterComboBox.java
  20. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXListView.java
  21. 5 4
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXNotification.java
  22. 8 8
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXScrollPane.java
  23. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTableView.java
  24. 4 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXToggleButton.java
  25. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTooltip.java
  26. 4 1
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTreeItem.java
  27. 2 2
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/SimpleMFXNotificationPane.java
  28. 2 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXDialog.java
  29. 3 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXTreeCell.java
  30. 13 3
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXTreeItem.java
  31. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXCheckTreeCell.java
  32. 3 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXSimpleTreeCell.java
  33. 1 2
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXTableColumnCell.java
  34. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXAnimationFactory.java
  35. 23 14
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXDialogFactory.java
  36. 6 3
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXStageDialogFactory.java
  37. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyComboBox.java
  38. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyTableView.java
  39. 3 1
      materialfx/src/main/java/io/github/palexdev/materialfx/effects/DepthLevel.java
  40. 7 5
      materialfx/src/main/java/io/github/palexdev/materialfx/effects/MFXScrimEffect.java
  41. 0 1
      materialfx/src/main/java/io/github/palexdev/materialfx/filter/IFilterable.java
  42. 2 1
      materialfx/src/main/java/io/github/palexdev/materialfx/filter/MFXFilterDialog.java
  43. 12 8
      materialfx/src/main/java/io/github/palexdev/materialfx/notifications/NotificationsManager.java
  44. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/notifications/PositionManager.java
  45. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/selection/TableSelectionModel.java
  46. 3 2
      materialfx/src/main/java/io/github/palexdev/materialfx/selection/TreeCheckModel.java
  47. 3 2
      materialfx/src/main/java/io/github/palexdev/materialfx/selection/TreeSelectionModel.java
  48. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXCheckTreeItemSkin.java
  49. 0 1
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDatePickerContent.java
  50. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXListViewSkin.java
  51. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXProgressBarSkin.java
  52. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXProgressSpinnerSkin.java
  53. 2 2
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXRadioButtonSkin.java
  54. 2 2
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXTableViewSkin.java
  55. 4 2
      materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXToggleButtonSkin.java
  56. 2 0
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/ColorUtils.java
  57. 1 1
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/DragResizer.java
  58. 4 1
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/LabelUtils.java
  59. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/LoaderUtils.java
  60. 4 1
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/LoggingUtils.java
  61. 30 27
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/NodeUtils.java
  62. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/utils/ToggleButtonsUtil.java
  63. 3 1
      materialfx/src/main/java/io/github/palexdev/materialfx/validation/MFXDialogValidator.java
  64. 1 0
      materialfx/src/main/java/io/github/palexdev/materialfx/validation/base/AbstractMFXValidator.java
  65. 4 1
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/legacy/mfx-tableview.css
  66. 1 1
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listcell.css
  67. 1 1
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listview.css
  68. 2 2
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-progressbar.css
  69. 1 1
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-scrollpane.css
  70. 2 2
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-tableview.css
  71. 4 3
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-togglebutton.css
  72. 1 1
      materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-togglenode.css

+ 9 - 9
.github/workflows/gradle.yml

@@ -15,12 +15,12 @@ jobs:
     runs-on: windows-latest
 
     steps:
-    - uses: actions/checkout@v2
-    - name: Set up JDK 14
-      uses: actions/setup-java@v1
-      with:
-        java-version: 14.0.2
-    - name: Grant execute permission for gradlew
-      run: chmod +x gradlew
-    - name: Build with Gradle
-      run: ./gradlew build -x test
+      - uses: actions/checkout@v2
+      - name: Set up JDK 14
+        uses: actions/setup-java@v1
+        with:
+          java-version: 14.0.2
+      - name: Grant execute permission for gradlew
+        run: chmod +x gradlew
+      - name: Build with Gradle
+        run: ./gradlew build -x test

+ 21 - 21
.run/MaterialFX [build].run.xml

@@ -1,23 +1,23 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [build]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="-x test" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="build" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [build]" type="GradleRunConfiguration" factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value="-x test"/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="build"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 21 - 21
.run/MaterialFX [clean].run.xml

@@ -1,23 +1,23 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [clean]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="clean" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [clean]" type="GradleRunConfiguration" factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value=""/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="clean"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 21 - 21
.run/MaterialFX [jlinkZip].run.xml

@@ -1,23 +1,23 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [jlinkZip]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.Demo" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="jlinkZip" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [jlinkZip]" type="GradleRunConfiguration" factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.Demo"/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="jlinkZip"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 22 - 21
.run/MaterialFX [materialfx_uploadArchives].run.xml

@@ -1,23 +1,24 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [materialfx:uploadArchives]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="materialfx:uploadArchives" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [materialfx:uploadArchives]" type="GradleRunConfiguration"
+                   factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value=""/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="materialfx:uploadArchives"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 21 - 21
.run/MaterialFX [run].run.xml

@@ -1,23 +1,23 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [run]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.Demo" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="run" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [run]" type="GradleRunConfiguration" factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.Demo"/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="run"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 21 - 21
.run/MaterialFX [testrun].run.xml

@@ -1,23 +1,23 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="MaterialFX [testrun]" type="GradleRunConfiguration" factoryName="Gradle">
-    <ExternalSystemSettings>
-      <option name="executionName" />
-      <option name="externalProjectPath" value="$PROJECT_DIR$" />
-      <option name="externalSystemIdString" value="GRADLE" />
-      <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.TestDemo" />
-      <option name="taskDescriptions">
-        <list />
-      </option>
-      <option name="taskNames">
-        <list>
-          <option value="run" />
-        </list>
-      </option>
-      <option name="vmOptions" value="" />
-    </ExternalSystemSettings>
-    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
-    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
-    <DebugAllEnabled>false</DebugAllEnabled>
-    <method v="2" />
-  </configuration>
+    <configuration default="false" name="MaterialFX [testrun]" type="GradleRunConfiguration" factoryName="Gradle">
+        <ExternalSystemSettings>
+            <option name="executionName"/>
+            <option name="externalProjectPath" value="$PROJECT_DIR$"/>
+            <option name="externalSystemIdString" value="GRADLE"/>
+            <option name="scriptParameters" value="-PchooseMain=io.github.palexdev.materialfx.demo.TestDemo"/>
+            <option name="taskDescriptions">
+                <list/>
+            </option>
+            <option name="taskNames">
+                <list>
+                    <option value="run"/>
+                </list>
+            </option>
+            <option name="vmOptions" value=""/>
+        </ExternalSystemSettings>
+        <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
+        <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
+        <DebugAllEnabled>false</DebugAllEnabled>
+        <method v="2"/>
+    </configuration>
 </component>

+ 16 - 16
.run/Run Tests.run.xml

@@ -1,18 +1,18 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="Run Tests" type="JUnit" factoryName="JUnit">
-    <module name="MaterialFX.demo.test" />
-    <extension name="coverage">
-      <pattern>
-        <option name="PATTERN" value="treeview.*" />
-        <option name="ENABLED" value="true" />
-      </pattern>
-    </extension>
-    <option name="PACKAGE_NAME" value="treeview" />
-    <option name="MAIN_CLASS_NAME" value="treeview.TreeViewTests" />
-    <option name="METHOD_NAME" value="" />
-    <option name="TEST_OBJECT" value="class" />
-    <method v="2">
-      <option name="Make" enabled="true" />
-    </method>
-  </configuration>
+    <configuration default="false" name="Run Tests" type="JUnit" factoryName="JUnit">
+        <module name="MaterialFX.demo.test"/>
+        <extension name="coverage">
+            <pattern>
+                <option name="PATTERN" value="treeview.*"/>
+                <option name="ENABLED" value="true"/>
+            </pattern>
+        </extension>
+        <option name="PACKAGE_NAME" value="treeview"/>
+        <option name="MAIN_CLASS_NAME" value="treeview.TreeViewTests"/>
+        <option name="METHOD_NAME" value=""/>
+        <option name="TEST_OBJECT" value="class"/>
+        <method v="2">
+            <option name="Make" enabled="true"/>
+        </method>
+    </configuration>
 </component>

+ 49 - 23
README.md

@@ -31,14 +31,15 @@
 </p>
 
 <!-- TABLE OF CONTENTS -->
+
 ## Table of Contents
 
 * [About the Project and History of JavaFX](#about-the-project-and-history-of-javafx)
 * [Getting Started](#getting-started)
-  * [Build](#build)
-  * [Usage](#usage)
-    * [Gradle](#gradle)
-    * [Maven](#maven)
+    * [Build](#build)
+    * [Usage](#usage)
+        * [Gradle](#gradle)
+        * [Maven](#maven)
 * [Roadmap](#roadmap)
 * [Contributing](#contributing)
 * [License](#license)
@@ -46,28 +47,40 @@
 * [Donation](#donation)
 
 <!-- ABOUT THE PROJECT -->
+
 ## 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.
+
+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.
+
+- 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](https://github.com/jfoenixadmin/JFoenix) library, which is a bit old and has a lot of issues.
+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](https://github.com/jfoenixadmin/JFoenix) library, which is a bit old and has a lot of issues.
 
 <!-- GETTING STARTED -->
+
 ## 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.
+
+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
@@ -79,7 +92,9 @@ To run the main demo, execute the following command:
 **NOTE** : MaterialFX requires **Java 11** and above.
 
 ### Usage
+
 ###### Gradle
+
 ```groovy
 repositories {
     mavenCentral()
@@ -89,7 +104,9 @@ dependencies {
 implementation 'io.github.palexdev:materialfx:11.7.1'
 }
 ```
+
 ###### Maven
+
 ```xml
 <dependency>
   <groupId>io.github.palexdev</groupId>
@@ -99,13 +116,17 @@ implementation 'io.github.palexdev:materialfx:11.7.1'
 ```
 
 <!-- ROADMAP -->
+
 ## Roadmap
+
 See the [open issues](https://github.com/palexdev/MaterialFX/issues) for a list of proposed features (and known issues).
 
 <!-- CONTRIBUTING -->
+
 ## 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**.
+
+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`)
@@ -114,20 +135,25 @@ Any contributions you make are **greatly appreciated**.
 5. Open a Pull Request
 
 <!-- LICENSE -->
+
 ## License
+
 Distributed under the GNU GPLv3 License. See `LICENSE` for more information.
 
 <!-- CONTACT -->
+
 ## Contact
+
 Alex - alessandro.parisi406@gmail.com  
 [![Discord](https://img.shields.io/discord/771702793378988054?label=Discord&style=flat-square)](https://discord.com/invite/zFa93NE)
 <br /><br />
 Project Link: [https://github.com/palexdev/MaterialFX](https://github.com/palexdev/MaterialFX)
 
 <!-- DONATION -->
+
 #### 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](https://img.shields.io/badge/$-support-green.svg?style=flat-square)](https://bit.ly/31XB8zD)
+
+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](https://img.shields.io/badge/$-support-green.svg?style=flat-square)](https://bit.ly/31XB8zD)

+ 2 - 2
demo/src/main/resources/io/github/palexdev/materialfx/demo/css/demo.css

@@ -27,7 +27,7 @@
 }
 
 #infoButton .ripple-generator {
-    -mfx-ripple-radius: 15;
+    -mfx-ripple-radius: 15px;
     -mfx-ripple-color: #d3d8ff;
 }
 
@@ -89,7 +89,7 @@
 }
 
 #vLoader .mfx-toggle-node:hover,
-#vLoader .mfx-toggle-node:hover .text{
+#vLoader .mfx-toggle-node:hover .text {
     -fx-opacity: 1.0;
 }
 

+ 1 - 1
materialfx/build.gradle

@@ -9,7 +9,7 @@ repositories {
 }
 
 
-compileJava   {
+compileJava {
     // This is necessary since Gluon devs are assholes :)
     sourceCompatibility = '11'
     targetCompatibility = '11'

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/beans/binding/BooleanListBinding.java

@@ -37,7 +37,7 @@ public class BooleanListBinding extends BooleanBinding {
 
     @Override
     protected boolean computeValue() {
-        for (BooleanProperty bp: observedProperties) {
+        for (BooleanProperty bp : observedProperties) {
             if (!bp.get()) {
                 return false;
             }

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/collections/CircularQueue.java

@@ -46,6 +46,7 @@ public class CircularQueue<E> extends LinkedList<E> {
     /**
      * Sets the maximum size of the queue and removes exceeding elements
      * if the specified size is lesser than the number of elements.
+     *
      * @param size The new desired size
      * @throws IllegalArgumentException if the desired size is 0
      */

+ 2 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckTreeItem.java

@@ -38,9 +38,10 @@ import java.lang.ref.WeakReference;
  * Simple implementation of a tree item with a checkbox.
  * <p>
  * The default associated {@link Skin} is {@link MFXCheckTreeItemSkin<T>}.
+ *
+ * @param <T> The type of the data within TreeItem.
  * @see MFXCheckTreeView
  * @see ITreeCheckModel
- * @param <T> The type of the data within TreeItem.
  */
 public class MFXCheckTreeItem<T> extends MFXTreeItem<T> {
     //================================================================================

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckTreeView.java

@@ -25,6 +25,7 @@ import io.github.palexdev.materialfx.selection.TreeCheckModel;
  * <p>
  * Note: this could also work with other item classes since the TreeCheckModel extends TreeSelectionModel,
  * but of course it is not recommended to do so.
+ *
  * @param <T> The type of the data within the items.
  */
 public class MFXCheckTreeView<T> extends MFXTreeView<T> {

+ 3 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXCheckbox.java

@@ -68,6 +68,7 @@ public class MFXCheckbox extends CheckBox {
 
     /**
      * Specifies the color of the box when it's checked.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> checkedColor = new SimpleStyleableObjectProperty<>(
@@ -79,6 +80,7 @@ public class MFXCheckbox extends CheckBox {
 
     /**
      * Specifies the color of the box when it's unchecked.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> uncheckedColor = new SimpleStyleableObjectProperty<>(
@@ -90,6 +92,7 @@ public class MFXCheckbox extends CheckBox {
 
     /**
      * Specifies the shape of the mark from a predefined set.
+     *
      * @see javafx.scene.shape.SVGPath
      */
     private final StyleableStringProperty markType = new SimpleStyleableStringProperty(

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXComboBox.java

@@ -43,6 +43,7 @@ import static io.github.palexdev.materialfx.controls.enums.Styles.ComboBoxStyles
  * Extends {@code Control} and provides a new skin since it is built from scratch.
  * <p>
  * Side note: unlike JavaFX's one this is NOT editable.
+ *
  * @param <T> The type of the value that has been selected
  * @see ComboSelectionModelMock
  */

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXDatePicker.java

@@ -287,7 +287,7 @@ public class MFXDatePicker extends VBox {
     );
 
     public Paint getPickerColor() {
-            return pickerColor.get();
+        return pickerColor.get();
     }
 
     public StyleableObjectProperty<Paint> pickerColorProperty() {

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXFilterComboBox.java

@@ -9,6 +9,7 @@ import javafx.scene.control.Skin;
  * This combo box allows to filter the items shown in the popup's listview.
  * <p>
  * Extends {@code MFXComboBox} and redefines the style class to "mfx-filter-combo-box".
+ *
  * @param <T> The type of the value that has been selected
  * @see MFXComboBox
  */

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXListView.java

@@ -94,7 +94,7 @@ public class MFXListView<T> extends ListView<T> {
     }
 
     /**
-     *  Sets the CSS looked-up colors
+     * Sets the CSS looked-up colors
      */
     private void setColors() {
         StringBuilder sb = new StringBuilder();

+ 5 - 4
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXNotification.java

@@ -86,8 +86,8 @@ public class MFXNotification extends Popup {
 
     /**
      * Closes the notification, plays out animation if requested.
-     *  <p>
-     *  <b>Note: this method should be used rather than Popup's hide() method</b>
+     * <p>
+     * <b>Note: this method should be used rather than Popup's hide() method</b>
      */
     public void hideNotification() {
         if (animate) {
@@ -169,9 +169,10 @@ public class MFXNotification extends Popup {
     /**
      * Shows the notification on screen, plays in animation if requested,
      * starts the close countdown if it's set to hide automatically.
+     *
      * @param ownerWindow The owner of the popup. This must not be null.
-     * @param anchorX The x position of the popup anchor in screen coordinates
-     * @param anchorY The y position of the popup anchor in screen coordinates
+     * @param anchorX     The x position of the popup anchor in screen coordinates
+     * @param anchorY     The y position of the popup anchor in screen coordinates
      * @throws NullPointerException if content is null
      */
     @Override

+ 8 - 8
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXScrollPane.java

@@ -151,7 +151,7 @@ public class MFXScrollPane extends ScrollPane {
     }
 
     /**
-     *  Sets the CSS looked-up colors
+     * Sets the CSS looked-up colors
      */
     private void setColors() {
         StringBuilder sb = new StringBuilder();
@@ -188,14 +188,14 @@ public class MFXScrollPane extends ScrollPane {
             scrollPane.getContent().getParent().addEventHandler(MouseEvent.DRAG_DETECTED, dragHandler);
             scrollPane.getContent().getParent().addEventHandler(ScrollEvent.ANY, scrollHandler);
         }
-        scrollPane.getContent().parentProperty().addListener((o,oldVal, newVal)->{
-            if (oldVal != null) {
-                oldVal.removeEventHandler(MouseEvent.DRAG_DETECTED, dragHandler);
-                oldVal.removeEventHandler(ScrollEvent.ANY, scrollHandler);
+        scrollPane.getContent().parentProperty().addListener((observable, oldValue, newValue) -> {
+            if (oldValue != null) {
+                oldValue.removeEventHandler(MouseEvent.DRAG_DETECTED, dragHandler);
+                oldValue.removeEventHandler(ScrollEvent.ANY, scrollHandler);
             }
-            if (newVal != null) {
-                newVal.addEventHandler(MouseEvent.DRAG_DETECTED, dragHandler);
-                newVal.addEventHandler(ScrollEvent.ANY, scrollHandler);
+            if (newValue != null) {
+                newValue.addEventHandler(MouseEvent.DRAG_DETECTED, dragHandler);
+                newValue.addEventHandler(ScrollEvent.ANY, scrollHandler);
             }
         });
         timeline.getKeyFrames().add(new KeyFrame(Duration.millis(3), (event) -> {

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTableView.java

@@ -38,6 +38,7 @@ import javafx.scene.control.Skin;
  * This is the implementation of a table view following Google's material design guidelines in JavaFX.
  * <p>
  * Extends {@code Control} and provides a new skin since it is built from scratch.
+ *
  * @param <T> The type of the data within the table.
  */
 public class MFXTableView<T> extends Control {

+ 4 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXToggleButton.java

@@ -83,6 +83,7 @@ public class MFXToggleButton extends ToggleButton {
 
     /**
      * Specifies the color of the "circle" when toggled.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> toggleColor = new SimpleStyleableObjectProperty<>(
@@ -94,6 +95,7 @@ public class MFXToggleButton extends ToggleButton {
 
     /**
      * Specifies the color of the "circle" when untoggled.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> unToggleColor = new SimpleStyleableObjectProperty<>(
@@ -105,6 +107,7 @@ public class MFXToggleButton extends ToggleButton {
 
     /**
      * Specifies the color of the "line" when toggled.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> toggleLineColor = new SimpleStyleableObjectProperty<>(
@@ -116,6 +119,7 @@ public class MFXToggleButton extends ToggleButton {
 
     /**
      * Specifies the color of the line when untoggled.
+     *
      * @see Color
      */
     private final StyleableObjectProperty<Paint> unToggleLineColor = new SimpleStyleableObjectProperty<>(

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTooltip.java

@@ -66,6 +66,7 @@ public class MFXTooltip extends Tooltip {
 
     /**
      * Registers the MouseEntered and MouseExited handlers on the given node.
+     *
      * @param node The Tooltip's node
      */
     public void isHoveringTargetPrimary(Node node) {

+ 4 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/controls/MFXTreeItem.java

@@ -48,10 +48,11 @@ import java.util.List;
  * <p>
  * Overrides the layoutChildren method to set the {@link #items} margin to 20 by default.
  * To change it you have to override the method inline or by extending this class.
+ *
+ * @param <T> The type of the data within TreeItem.
  * @see AbstractMFXTreeCell
  * @see MFXTreeView
  * @see ITreeSelectionModel
- * @param <T> The type of the data within TreeItem.
  */
 public class MFXTreeItem<T> extends AbstractMFXTreeItem<T> {
     //================================================================================
@@ -186,6 +187,7 @@ public class MFXTreeItem<T> extends AbstractMFXTreeItem<T> {
 
     /**
      * Property to check if an animation is running on the control. It is bound into the Skin class.
+     *
      * @see MFXTreeItemSkin
      */
     public ReadOnlyBooleanWrapper animationRunningProperty() {
@@ -271,6 +273,7 @@ public class MFXTreeItem<T> extends AbstractMFXTreeItem<T> {
      * Used in the items listener added by the {@link #initialize()} method.
      * <p>
      * When an item is added/removed its parent should be updated accordingly.
+     *
      * @param treeItems the items for which to update the parent
      * @param newParent the parent to set (or null in case of removed items)
      */

+ 2 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/controls/SimpleMFXNotificationPane.java

@@ -157,8 +157,8 @@ public class SimpleMFXNotificationPane extends AbstractMFXNotificationPane {
     }
 
     /**
-     *  Since this class has no references to {@code MFXNotification} because they are two distinct and separate concepts,
-     *  the close button action must be set after instantiating a {@code MFXNotification}.
+     * Since this class has no references to {@code MFXNotification} because they are two distinct and separate concepts,
+     * the close button action must be set after instantiating a {@code MFXNotification}.
      */
     public void setCloseHandler(EventHandler<MouseEvent> closeHandler) {
         if (this.closeHandler != null) {

+ 2 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXDialog.java

@@ -241,6 +241,7 @@ public abstract class AbstractMFXDialog extends BorderPane {
 
     /**
      * Replaces the dialog's default close button with a new one and adds the close handler to it.
+     *
      * @param buttons The new close button
      */
     public void setCloseButtons(Node... buttons) {
@@ -262,6 +263,7 @@ public abstract class AbstractMFXDialog extends BorderPane {
      * Replaces the dialog's default close handler with a new one,
      * removes the old one from the button, replaces the handler and then
      * re-adds the handler to the button.
+     *
      * @param newHandler The new close handler
      */
     public void setCloseHandler(EventHandler<MouseEvent> newHandler) {

+ 3 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXTreeCell.java

@@ -44,6 +44,7 @@ import javafx.scene.layout.HBox;
  * <p>
  * Also, note that to build a cell the height must be fixed for layout reasons, by default it's 27.
  * When the cell is created the {@link #render(Object)} method is called.
+ *
  * @param <T> The type of the data within TreeItem.
  */
 public abstract class AbstractMFXTreeCell<T> extends HBox {
@@ -135,6 +136,7 @@ public abstract class AbstractMFXTreeCell<T> extends HBox {
 
     /**
      * Sets the cell's disclosure node to the specified node.
+     *
      * @param <N> the specified parameter N should be a subclass of Node
      */
     public abstract <N extends Node> void setDisclosureNode(N node);
@@ -142,6 +144,7 @@ public abstract class AbstractMFXTreeCell<T> extends HBox {
     /**
      * Specifies how the cell should represent the item's data, whether it is a node,
      * a primitive type or something else.
+     *
      * @param data the item's data
      */
     protected abstract void render(T data);

+ 13 - 3
materialfx/src/main/java/io/github/palexdev/materialfx/controls/base/AbstractMFXTreeItem.java

@@ -45,10 +45,11 @@ import java.util.List;
  * </pre>
  * The root is defined as the element which parent is null.
  * <p></p>
+ *
+ * @param <T> The type of the data within TreeItem.
  * @see AbstractMFXTreeCell
  * @see MFXTreeView
  * @see ITreeSelectionModel
- * @param <T> The type of the data within TreeItem.
  */
 public abstract class AbstractMFXTreeItem<T> extends Control {
     //================================================================================
@@ -61,7 +62,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     protected final ObjectProperty<Callback<AbstractMFXTreeItem<T>, AbstractMFXTreeCell<T>>> cellFactory = new SimpleObjectProperty<>();
     private final DoubleProperty childrenMargin = new SimpleDoubleProperty(20);
-    private final BooleanProperty startExpanded =  new SimpleBooleanProperty(false);
+    private final BooleanProperty startExpanded = new SimpleBooleanProperty(false);
     private final BooleanProperty selected = new SimpleBooleanProperty(false);
 
     //================================================================================
@@ -75,7 +76,9 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
     // Abstract Methods
     //================================================================================
     public abstract ITreeSelectionModel<T> getSelectionModel();
+
     protected abstract void defaultCellFactory();
+
     protected abstract void updateChildrenParent(List<? extends AbstractMFXTreeItem<T>> treeItems, final AbstractMFXTreeItem<T> newParent);
 
     //================================================================================
@@ -84,6 +87,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     /**
      * Checks if the parent item is null.
+     *
      * @return true if parent is null otherwise returns false
      */
     public boolean isRoot() {
@@ -92,6 +96,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     /**
      * Retrieves the tree's root.
+     *
      * @return the root item
      */
     public AbstractMFXTreeItem<T> getRoot() {
@@ -110,11 +115,12 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     /**
      * Calculates the item's index in the tree structure.
+     *
      * @return the item's index
      * @see TreeItemStream
      */
     public long getIndex() {
-        if (isRoot()){
+        if (isRoot()) {
             return 0;
         }
 
@@ -151,6 +157,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     /**
      * Retrieves the next item at the same level in the tree.
+     *
      * @return the item's next sibling. Null if is root or there is no other item next
      */
     public AbstractMFXTreeItem<T> getNextSibling() {
@@ -168,6 +175,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
 
     /**
      * Retrieves the previous item at the same level in the tree.
+     *
      * @return the item's previous sibling. Null if is root or there is no other item before
      */
     public AbstractMFXTreeItem<T> getPreviousSibling() {
@@ -195,6 +203,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
      * <p>
      * The reference is stored only in the root item so this method retrieves the root first
      * and then returns the tree view instance.
+     *
      * @return the TreeView instance
      */
     public MFXTreeView<T> getTreeView() {
@@ -213,6 +222,7 @@ public abstract class AbstractMFXTreeItem<T> extends Control {
      * Sets this item's TreeView reference to the given one.
      * <p>
      * <b>WARNING: THIS METHOD IS INTENDED FOR INTERNAL USE ONLY</b>
+     *
      * @see MFXTreeView
      */
     public void setTreeView(MFXTreeView<T> treeView) {

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXCheckTreeCell.java

@@ -27,6 +27,7 @@ import javafx.css.PseudoClass;
 
 /**
  * Implementation of a MFXSimpleTreeCell with a checkbox for usage in MFXCheckTreeViews.
+ *
  * @param <T>
  */
 public class MFXCheckTreeCell<T> extends MFXSimpleTreeCell<T> {

+ 3 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXSimpleTreeCell.java

@@ -34,6 +34,7 @@ import javafx.scene.input.MouseEvent;
  * Simple implementation of a MFXTreeItem cell.
  * <p>
  * Concrete implementation of {@link AbstractMFXTreeCell<T>}.
+ *
  * @param <T>
  */
 public class MFXSimpleTreeCell<T> extends AbstractMFXTreeCell<T> {
@@ -99,6 +100,7 @@ public class MFXSimpleTreeCell<T> extends AbstractMFXTreeCell<T> {
     /**
      * {@inheritDoc}
      * Overrides the return type of the super class according to {@link MFXSimpleTreeCell#defaultDisclosureNode()}
+     *
      * @return this cell's disclosure node instance
      */
     @Override
@@ -121,6 +123,7 @@ public class MFXSimpleTreeCell<T> extends AbstractMFXTreeCell<T> {
      * <p>
      * If it is not a Node than a label is created, the label has style class: "data-label",
      * sets its text to the calling toString on the data and then adds the label to the box.
+     *
      * @param data the item's data
      */
     @Override

+ 1 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/controls/cell/MFXTableColumnCell.java

@@ -34,8 +34,7 @@ import java.util.Comparator;
  * Each column cell is a {@code Label}, has a name and has the following responsibilities:
  * - Has a row cell factory because each column knows how to build the corresponding row cell in each table row<p>
  * - Has a sort state and a comparator because each column knows how to sort the rows based on the given comparator, also
- *      retains its sort state thus allowing switching between ASCENDING, DESCENDING, UNSORTED<p>
- *
+ * retains its sort state thus allowing switching between ASCENDING, DESCENDING, UNSORTED<p>
  */
 public class MFXTableColumnCell<T> extends Label {
     //================================================================================

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXAnimationFactory.java

@@ -179,5 +179,6 @@ public enum MFXAnimationFactory {
             node.setTranslateY(0);
         }
     }
+
     public abstract Timeline build(Node node, double durationMillis);
 }

+ 23 - 14
materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXDialogFactory.java

@@ -56,7 +56,7 @@ public class MFXDialogFactory {
     /**
      * Sets the header node of the given dialog to the given type.
      *
-     * @param type The desired type
+     * @param type   The desired type
      * @param dialog The dialog reference
      */
     public static void setHeaderNode(DialogType type, AbstractMFXDialog dialog) {
@@ -88,18 +88,20 @@ public class MFXDialogFactory {
 
     /**
      * Sets the content node of the given dialog with a new one.
-     * @param dialog The dialog reference
-     * @param title The dialog's title
+     *
+     * @param dialog  The dialog reference
+     * @param title   The dialog's title
      * @param content The dialog's content
      */
-    public static void setContentNode(AbstractMFXDialog dialog, String title, String content)  {
+    public static void setContentNode(AbstractMFXDialog dialog, String title, String content) {
         dialog.setCenter(buildContent(dialog, title, content));
     }
 
     /**
      * Builds an MFXDialog
-     * @param type The dialog's type
-     * @param title The dialog's title
+     *
+     * @param type    The dialog's type
+     * @param title   The dialog's title
      * @param content The dialog's content
      * @return A new MFXDialog
      */
@@ -113,7 +115,8 @@ public class MFXDialogFactory {
 
     /**
      * Builds a generic MFXDialog
-     * @param title The dialog's title
+     *
+     * @param title   The dialog's title
      * @param content The dialog's content
      * @return A new generic MFXDialog
      */
@@ -135,7 +138,8 @@ public class MFXDialogFactory {
 
     /**
      * Converts a given dialog to the desired type.
-     * @param type The desired type
+     *
+     * @param type   The desired type
      * @param dialog The dialog reference
      */
     public static void convertToSpecific(DialogType type, AbstractMFXDialog dialog) {
@@ -150,9 +154,10 @@ public class MFXDialogFactory {
 
     /**
      * Common code for building specific dialog's header node.
+     *
      * @param dialog The dialog reference
-     * @param color The header color
-     * @param icon The header icon
+     * @param color  The header color
+     * @param icon   The header icon
      * @return A new header node
      */
     private static StackPane buildHeader(AbstractMFXDialog dialog, String color, MFXFontIcon icon) {
@@ -188,8 +193,9 @@ public class MFXDialogFactory {
 
     /**
      * Common code for building specific dialog's content node.
-     * @param dialog The dialog reference
-     * @param title The dialog's title
+     *
+     * @param dialog  The dialog reference
+     * @param title   The dialog's title
      * @param content The dialog's content
      * @return A new header node
      */
@@ -219,8 +225,9 @@ public class MFXDialogFactory {
 
     /**
      * Builds an header node for generic dialogs.
+     *
      * @param dialog The dialog reference
-     * @param title The dialog's title.
+     * @param title  The dialog's title.
      * @return A new generic header node
      */
     private static StackPane buildGenericHeader(AbstractMFXDialog dialog, String title) {
@@ -239,7 +246,8 @@ public class MFXDialogFactory {
 
     /**
      * Builds a content node for generic dialogs.
-     * @param dialog The dialog reference
+     *
+     * @param dialog  The dialog reference
      * @param content The dialog's content
      * @return A new generic content node
      */
@@ -262,6 +270,7 @@ public class MFXDialogFactory {
 
     /**
      * Builds a button box for generic dialogs.
+     *
      * @param dialog The dialog instance
      * @return A new button box
      */

+ 6 - 3
materialfx/src/main/java/io/github/palexdev/materialfx/controls/factories/MFXStageDialogFactory.java

@@ -37,8 +37,9 @@ public class MFXStageDialogFactory {
 
     /**
      * Builds a MFXStageDialog from type, title and content.
-     * @param type The dialog type
-     * @param title The dialog's title
+     *
+     * @param type    The dialog type
+     * @param title   The dialog's title
      * @param content The dialog's content
      * @return The MFXStageDialog's stage
      * @see DialogType
@@ -64,6 +65,7 @@ public class MFXStageDialogFactory {
 
     /**
      * Builds a MFXStageDialog from an AbstractMFXDialog or subclasses.
+     *
      * @param dialog The dialog
      * @return The MFXStageDialog's stage
      */
@@ -83,6 +85,7 @@ public class MFXStageDialogFactory {
 
     /**
      * Creates a TRANSPARENT {@code Scene}.
+     *
      * @param pane The dialog
      * @return The MFXStageDialog scene
      */
@@ -91,5 +94,5 @@ public class MFXStageDialogFactory {
         scene.setFill(Color.TRANSPARENT);
         return scene;
     }
-    
+
 }

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyComboBox.java

@@ -58,6 +58,7 @@ import java.util.List;
  * <p>
  * I recommend to use only nodes which are instances of {@code Labeled} since the {@code toString()} method is overridden
  * to return the control's text.
+ *
  * @see MFXSnapshotWrapper
  */
 public class MFXLegacyComboBox<T> extends ComboBox<T> {

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/controls/legacy/MFXLegacyTableView.java

@@ -27,6 +27,7 @@ import javafx.scene.control.TableView;
 /**
  * This is a restyle of JavaFX's {@link TableView} control.
  * For a table view which more closely follows the guidelines of material design see {@link io.github.palexdev.materialfx.controls.MFXTableView}.
+ *
  * @param <S>
  */
 public class MFXLegacyTableView<S> extends TableView<S> {

+ 3 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/effects/DepthLevel.java

@@ -68,9 +68,11 @@ public enum DepthLevel {
 
     /**
      * Retrieves the next {@code DepthLevel} associated with {@code this} enumerator.
+     *
      * @return The next {@code DepthLevel}
      */
     public DepthLevel next() {
-        return valuesArr[(this.ordinal()+1) % valuesArr.length];
+        return valuesArr[(this.ordinal() + 1) % valuesArr.length];
     }
+
 }

+ 7 - 5
materialfx/src/main/java/io/github/palexdev/materialfx/effects/MFXScrimEffect.java

@@ -52,7 +52,7 @@ public class MFXScrimEffect {
     /**
      * Adds a scrim effect to the specified pane with specified opacity.
      *
-     * @param pane The pane to which add the effect
+     * @param pane    The pane to which add the effect
      * @param opacity The effect opacity/strength
      */
     public void scrim(Pane pane, double opacity) {
@@ -69,8 +69,8 @@ public class MFXScrimEffect {
      * It also simulates the modal behavior of {@code Stage}s, leaving only the specified
      * {@code Node} interactable.
      *
-     * @param parent The pane to which add the effect
-     * @param child The node to leave interactable
+     * @param parent  The pane to which add the effect
+     * @param child   The node to leave interactable
      * @param opacity The effect opacity/strength
      */
     public void modalScrim(Pane parent, Node child, double opacity) {
@@ -100,13 +100,13 @@ public class MFXScrimEffect {
                     }
                 });
 
-        parent.getChildren().add(children.size() - 1 , scrim);
+        parent.getChildren().add(children.size() - 1, scrim);
     }
 
     /**
      * Adds a scrim effect to the specified {@code Window}'s root pane with the specified opacity.
      *
-     * @param window The desired window
+     * @param window  The desired window
      * @param opacity The desired opacity
      */
     public void scrimWindow(Window window, double opacity) {
@@ -122,6 +122,7 @@ public class MFXScrimEffect {
 
     /**
      * Removes the scrim effect from the specified pane.
+     *
      * @param pane The pane to which remove the effect.
      */
     public void removeEffect(Pane pane) {
@@ -130,6 +131,7 @@ public class MFXScrimEffect {
 
     /**
      * Removes the scrim effect from the specified window.
+     *
      * @param window The window to which remove the effect.
      */
     public void removeEffect(Window window) {

+ 0 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/filter/IFilterable.java

@@ -21,7 +21,6 @@ package io.github.palexdev.materialfx.filter;
 /**
  * This interface allows filtering a {@link io.github.palexdev.materialfx.controls.MFXTableView} without
  * using an object {@code toString()} method but rather using a specific method.
- *
  */
 public interface IFilterable {
     String toFilterString();

+ 2 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/filter/MFXFilterDialog.java

@@ -71,7 +71,6 @@ import java.util.stream.Collectors;
  * <p>
  * The main method is {@link #filter(String)}. It takes a string and evaluates all the given conditions
  * on that string, returning the computed boolean result.
- *
  */
 public class MFXFilterDialog extends MFXDialog {
     //================================================================================
@@ -179,6 +178,7 @@ public class MFXFilterDialog extends MFXDialog {
     /**
      * Evaluates all the conditions specified by the dialog's {@code FilterFields} on
      * the given item and returns if it meets the specified conditions or not.
+     *
      * @param item the string on which evaluate the conditions
      */
     public boolean filter(String item) {
@@ -360,6 +360,7 @@ public class MFXFilterDialog extends MFXDialog {
          * - Ends With -> String::endsWith <p>
          * - Equals -> String::equals <p>
          * - Equals Ignore Case -> String::equalsIgnoreCase <p>
+         *
          * @see StringUtils
          */
         private void populateMap() {

+ 12 - 8
materialfx/src/main/java/io/github/palexdev/materialfx/notifications/NotificationsManager.java

@@ -55,7 +55,8 @@ public class NotificationsManager {
 
     /**
      * Sends a {@code MFXNotification} to the designated {@code PositionManager}
-     * @param pos The notifications' position on screen
+     *
+     * @param pos          The notifications' position on screen
      * @param notification The notification
      */
     public static void send(NotificationPos pos, MFXNotification notification) {
@@ -66,9 +67,10 @@ public class NotificationsManager {
 
     /**
      * Sends a {@code MFXNotification} to the designated {@code PositionManager} with the specified spacing.
-     * @param pos The notifications' position on screen
+     *
+     * @param pos          The notifications' position on screen
      * @param notification The notification
-     * @param spacing The number of pixels between each shown notification and from screen's left and right borders
+     * @param spacing      The number of pixels between each shown notification and from screen's left and right borders
      */
     public static void send(NotificationPos pos, MFXNotification notification, double spacing) {
         notifications.computeIfAbsent(pos, notificationPos -> new PositionManager(screenBounds, window, notificationPos));
@@ -78,9 +80,10 @@ public class NotificationsManager {
 
     /**
      * Sends a {@code MFXNotification} to the designated {@code PositionManager} with the specified limit.
-     * @param pos The notifications' position on screen
+     *
+     * @param pos          The notifications' position on screen
      * @param notification The notification
-     * @param limit The maximum number of notifications to show, if limit is exceeded they will be queued
+     * @param limit        The maximum number of notifications to show, if limit is exceeded they will be queued
      */
     public static void send(NotificationPos pos, MFXNotification notification, int limit) {
         notifications.computeIfAbsent(pos, notificationPos -> new PositionManager(screenBounds, window, notificationPos));
@@ -90,10 +93,11 @@ public class NotificationsManager {
 
     /**
      * Sends a {@code MFXNotification} to the designated {@code PositionManager} with the specified spacing and limit.
-     * @param pos The notifications' position on screen
+     *
+     * @param pos          The notifications' position on screen
      * @param notification The notification
-     * @param spacing The number of pixels between each shown notification and from screen's left and right borders
-     * @param limit The maximum number of notifications to show, if limit is exceeded they will be queued
+     * @param spacing      The number of pixels between each shown notification and from screen's left and right borders
+     * @param limit        The maximum number of notifications to show, if limit is exceeded they will be queued
      */
     public static void send(NotificationPos pos, MFXNotification notification, double spacing, int limit) {
         notifications.computeIfAbsent(pos, notificationPos -> new PositionManager(screenBounds, window, notificationPos));

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/notifications/PositionManager.java

@@ -157,6 +157,7 @@ public class PositionManager {
      * <p>
      * The new anchorY is calculated using the current value and the new notification's content prefHeight.
      * <b>Note: this works only if the notification's content has it's pref height set</b>
+     *
      * @param newNotification The new notification
      * @param oldNotification The already showing notification
      * @return The animation

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/selection/TableSelectionModel.java

@@ -123,6 +123,7 @@ public class TableSelectionModel<T> implements ITableSelectionModel<T> {
     /**
      * Gets the selected row. If the selection is multiple {@link #getSelectedRows()} ()} should be
      * called instead, as this method will only return the first item of the list.
+     *
      * @return the first selected item of the list
      */
     @Override

+ 3 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/selection/TreeCheckModel.java

@@ -86,8 +86,9 @@ public class TreeCheckModel<T> extends TreeSelectionModel<T> implements ITreeChe
      *         i2.setChecked(true);
      *     }
      * </pre>
-     * @see MFXCheckTreeItem
+     *
      * @param item the item to check
+     * @see MFXCheckTreeItem
      */
     private void check(MFXCheckTreeItem<T> item) {
         if (item.isChecked()) {
@@ -186,7 +187,7 @@ public class TreeCheckModel<T> extends TreeSelectionModel<T> implements ITreeChe
         } else if (indeterminateChildren(item) != 0) {
             checkedItems.remove(item);
             item.setIndeterminate(true);
-        } else if (checkedChildren(item) == 0){
+        } else if (checkedChildren(item) == 0) {
             checkedItems.remove(item);
             item.setIndeterminate(false);
         } else {

+ 3 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/selection/TreeSelectionModel.java

@@ -84,12 +84,12 @@ public class TreeSelectionModel<T> implements ITreeSelectionModel<T> {
      *         i2.setSelected(true);
      *     }
      * </pre>
-     *
+     * <p>
      * If the model is set to not allow multiple selection then we clear the list
      * and then add the item to it.
-     * @see MFXTreeItem
      *
      * @param item the item to select
+     * @see MFXTreeItem
      */
     @SuppressWarnings("unchecked")
     protected void select(AbstractMFXTreeItem<T> item) {
@@ -176,6 +176,7 @@ public class TreeSelectionModel<T> implements ITreeSelectionModel<T> {
     /**
      * Gets the selected item. If the selection is multiple {@link #getSelectedItems()} should be
      * called instead, as this method will only return the first item of the list.
+     *
      * @return the first selected item of the list
      */
     @Override

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXCheckTreeItemSkin.java

@@ -28,6 +28,7 @@ import static io.github.palexdev.materialfx.controls.MFXCheckTreeItem.CheckTreeI
 
 /**
  * This is the implementation of the {@code Skin} associated with every {@link MFXCheckTreeItemSkin}.
+ *
  * @see MFXCheckTreeItem
  * @see TreeCheckModel
  */

+ 0 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXDatePickerContent.java

@@ -290,7 +290,6 @@ public class MFXDatePickerContent extends VBox {
      * Each cell has its text set by default to "null" then starting from the
      * first day index calculated with {@link #firstDayIndex()} the text is set from 1 to monthLength.
      * The cells which still contains "null" are not visible, that's how the grid is built.
-     *
      */
     private void createDayCells() {
         days.clear();

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXListViewSkin.java

@@ -38,6 +38,7 @@ import javafx.scene.layout.Region;
 import javafx.util.Duration;
 
 import java.util.Set;
+
 /**
  * This is the implementation of the {@code Skin} associated with every {@code MFXListView}.
  * <p>

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXProgressBarSkin.java

@@ -97,7 +97,7 @@ public class MFXProgressBarSkin extends SkinBase<MFXProgressBar> {
      * Creates the animation for the indeterminate bar.
      */
     private void createIndeterminateTimeline() {
-        MFXProgressBar progressBar =  getSkinnable();
+        MFXProgressBar progressBar = getSkinnable();
 
         if (indeterminateTransition != null) {
             clearAnimation();

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXProgressSpinnerSkin.java

@@ -41,7 +41,7 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
 /**
- *  This is the implementation of the {@code Skin} associated with every {@code MFXProgressSpinner}.
+ * This is the implementation of the {@code Skin} associated with every {@code MFXProgressSpinner}.
  */
 public class MFXProgressSpinnerSkin extends SkinBase<MFXProgressSpinner> {
     //================================================================================

+ 2 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXRadioButtonSkin.java

@@ -37,7 +37,7 @@ import javafx.scene.text.Text;
 import javafx.util.Duration;
 
 /**
- *  This is the implementation of the {@code Skin} associated with every {@code MFXRadioButton}.
+ * This is the implementation of the {@code Skin} associated with every {@code MFXRadioButton}.
  */
 public class MFXRadioButtonSkin extends RadioButtonSkin {
     //================================================================================
@@ -102,7 +102,7 @@ public class MFXRadioButtonSkin extends RadioButtonSkin {
         radioButton.unSelectedColorProperty().addListener((observable, oldValue, newValue) -> updateColors());
         radioButton.unSelectedTextColorProperty().addListener((observable, oldValue, newValue) -> updateColors());
 
-        radioButton.selectedProperty().addListener((observableValue, oldValue, newValue) ->  {
+        radioButton.selectedProperty().addListener((observableValue, oldValue, newValue) -> {
             buildAndPlayAnimation();
             updateColors();
             rippleGenerator.setGeneratorCenterX(container.getWidth() / 2.0 - 0.3);

+ 2 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXTableViewSkin.java

@@ -413,7 +413,7 @@ public class MFXTableViewSkin<T> extends SkinBase<MFXTableView<T>> {
         lastIcon.addEventHandler(MouseEvent.MOUSE_PRESSED, event -> goLastPage());
 
         int i;
-        for (i = 5; i <= getSkinnable().getMaxRowsCombo(); i+=5) {
+        for (i = 5; i <= getSkinnable().getMaxRowsCombo(); i += 5) {
             rowsPerPageCombo.getItems().add(i);
         }
 
@@ -608,7 +608,7 @@ public class MFXTableViewSkin<T> extends SkinBase<MFXTableView<T>> {
                 break;
             }
             // Goes DESCENDING
-            case ASCENDING:  {
+            case ASCENDING: {
                 sortedList.setComparator(column.getComparator().reversed());
                 animateSortIcon(icon, SortState.ASCENDING);
                 column.setSortState(SortState.DESCENDING);

+ 4 - 2
materialfx/src/main/java/io/github/palexdev/materialfx/skins/MFXToggleButtonSkin.java

@@ -38,7 +38,7 @@ import javafx.scene.shape.StrokeLineCap;
 import javafx.util.Duration;
 
 /**
- *  This is the implementation of the {@code Skin} associated with every {@code MFXToggleButton}.
+ * This is the implementation of the {@code Skin} associated with every {@code MFXToggleButton}.
  */
 public class MFXToggleButtonSkin extends ToggleButtonSkin {
     //================================================================================
@@ -56,7 +56,7 @@ public class MFXToggleButtonSkin extends ToggleButtonSkin {
     public MFXToggleButtonSkin(MFXToggleButton toggleButton) {
         super(toggleButton);
 
-         circleRadius = toggleButton.getSize();
+        circleRadius = toggleButton.getSize();
 
         line = new Line();
         line.setStroke(toggleButton.isSelected() ? toggleButton.getToggleLineColor() : toggleButton.getUnToggleLineColor());
@@ -142,6 +142,7 @@ public class MFXToggleButtonSkin extends ToggleButtonSkin {
 
     /**
      * Re-builds and plays the translation animation every time the control is selected/unselected.
+     *
      * @param isSelected The control's state
      */
     private void buildAndPlayAnimation(boolean isSelected) {
@@ -163,6 +164,7 @@ public class MFXToggleButtonSkin extends ToggleButtonSkin {
 
     /**
      * Computes the final x coordinate of the translate animation.
+     *
      * @param isSelected The control's state
      * @return The final x coordinate.
      */

+ 2 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/utils/ColorUtils.java

@@ -33,6 +33,7 @@ public class ColorUtils {
 
     /**
      * Converts a JavaFX's {@code Color} to CSS corresponding rgb function.
+     *
      * @return the rgb function as a string
      */
     public static String rgb(Color color) {
@@ -44,6 +45,7 @@ public class ColorUtils {
 
     /**
      * Converts a JavaFX's {@code Color} to CSS corresponding rgba function.
+     *
      * @return the rgba function as a string
      */
     public static String rgba(Color color) {

+ 1 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/utils/DragResizer.java

@@ -62,7 +62,7 @@ public class DragResizer {
 
         region.addEventFilter(MouseEvent.MOUSE_PRESSED, resizer::mousePressed);
         region.addEventFilter(MouseEvent.MOUSE_DRAGGED, resizer::mouseDragged);
-        region.addEventFilter(MouseEvent.MOUSE_MOVED,resizer::mouseOver);
+        region.addEventFilter(MouseEvent.MOUSE_MOVED, resizer::mouseOver);
         region.addEventFilter(MouseEvent.MOUSE_RELEASED, resizer::mouseReleased);
     }
 

+ 4 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/utils/LabelUtils.java

@@ -36,6 +36,7 @@ public class LabelUtils {
 
     /**
      * Checks if the text of the specified {@code Label} is truncated.
+     *
      * @param label The specified label
      */
     public static boolean isLabelTruncated(Label label) {
@@ -53,8 +54,9 @@ public class LabelUtils {
     /**
      * Registers a listener to the specified {@code Label} which checks if the text
      * is truncated and updates the specified boolean property accordingly.
+     *
      * @param isTruncated The boolean property to change
-     * @param label The specified label
+     * @param label       The specified label
      */
     public static void registerTruncatedLabelListener(BooleanProperty isTruncated, Label label) {
         label.needsLayoutProperty().addListener((observable, oldValue, newValue) -> {
@@ -68,6 +70,7 @@ public class LabelUtils {
 
     /**
      * Computes the min width of a label to show all the text. Uses {@link NodeUtils#getNodeWidth(Region)}.
+     *
      * @param font the label font
      * @param text the label text
      */

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/utils/LoaderUtils.java

@@ -40,6 +40,7 @@ public class LoaderUtils {
     /**
      * If no key is specified when calling 'addItem' then a default key is generated,
      * corresponds to the fxml file name without the extension.
+     *
      * @param fxmlFile The given fxml file
      * @return The generated key
      */

+ 4 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/utils/LoggingUtils.java

@@ -38,6 +38,7 @@ public class LoggingUtils {
 
     /**
      * Gets the stacktrace of a {@code Throwable} as a String.
+     *
      * @param ex The throwable/exception
      * @return the stacktrace as a String
      */
@@ -49,6 +50,7 @@ public class LoggingUtils {
 
     /**
      * Logs the given {@code Throwable}'s stacktrace to the console.
+     *
      * @param ex The throwable/exception
      */
     public static void logException(Throwable ex) {
@@ -57,8 +59,9 @@ public class LoggingUtils {
 
     /**
      * Logs the given {@code Throwable}'s exception to the console and adds the given String at the beginning.
+     *
      * @param msg The extra message you want to log
-     * @param ex The throwable/exception
+     * @param ex  The throwable/exception
      */
     public static void logException(String msg, Throwable ex) {
         logger.log(EXCEPTION, msg + "\n" + getStackTraceString(ex));

+ 30 - 27
materialfx/src/main/java/io/github/palexdev/materialfx/utils/NodeUtils.java

@@ -49,8 +49,9 @@ public class NodeUtils {
 
     /**
      * Changes the background color of a {@code Region} to the desired one.
+     *
      * @param region The region to change the background color to
-     * @param fill The desired color
+     * @param fill   The desired color
      */
     public static void updateBackground(Region region, Paint fill) {
         final Background background = region.getBackground();
@@ -68,8 +69,9 @@ public class NodeUtils {
 
     /**
      * Changes the background color of a {@code Region} to the desired one and lets specify the background insets.
-     * @param region The region to change the background color to
-     * @param fill The desired color
+     *
+     * @param region           The region to change the background color to
+     * @param fill             The desired color
      * @param backgroundInsets The background insets to use
      */
     public static void updateBackground(Region region, Paint fill, Insets backgroundInsets) {
@@ -137,6 +139,7 @@ public class NodeUtils {
      * Makes the given region circular.
      * <p>
      * <b>Notice: the region's pref width and height must be set and be equals</b>
+     *
      * @param region The given region
      */
     public static void makeRegionCircular(Region region) {
@@ -155,6 +158,7 @@ public class NodeUtils {
      * Makes the given region circular with the specified radius.
      * <p>
      * <b>Notice: the region's pref width and height must be set and be equals</b>
+     *
      * @param region The given region
      * @param radius The wanted radius
      */
@@ -171,6 +175,7 @@ public class NodeUtils {
 
     /**
      * Retrieves the region width if it isn't still laid out.
+     *
      * @param region the Region of which to know the width
      * @return the calculated width
      */
@@ -184,6 +189,7 @@ public class NodeUtils {
 
     /**
      * Retrieves the region height if it isn't still laid out.
+     *
      * @param region the Region of which to know the height
      * @return the calculated height
      */
@@ -216,7 +222,7 @@ public class NodeUtils {
      */
     public static void fireDummyEvent(Node node) {
         Event.fireEvent(node, new MouseEvent(MouseEvent.MOUSE_PRESSED,
-               0, 0, 0, 0, MouseButton.PRIMARY, 1,
+                0, 0, 0, 0, MouseButton.PRIMARY, 1,
                 false, false, false, false, true, false, false, false, false, false, null));
     }
 
@@ -258,8 +264,7 @@ public class NodeUtils {
     }
 
     public static Point2D pointRelativeTo(Node parent, Node node, HPos hpos,
-                                          VPos vpos, double dx, double dy, boolean reposition)
-    {
+                                          VPos vpos, double dx, double dy, boolean reposition) {
         final double nodeWidth = node.getLayoutBounds().getWidth();
         final double nodeHeight = node.getLayoutBounds().getHeight();
         return pointRelativeTo(parent, nodeWidth, nodeHeight, hpos, vpos, dx, dy, reposition);
@@ -267,8 +272,7 @@ public class NodeUtils {
 
     public static Point2D pointRelativeTo(Node parent, double anchorWidth,
                                           double anchorHeight, HPos hpos, VPos vpos, double dx, double dy,
-                                          boolean reposition)
-    {
+                                          boolean reposition) {
         final Bounds parentBounds = getBounds(parent);
         Scene scene = parent.getScene();
         NodeOrientation orientation = parent.getEffectiveNodeOrientation();
@@ -304,18 +308,17 @@ public class NodeUtils {
      * This is the fallthrough function that most other functions fall into. It takes
      * care specifically of the repositioning of the item such that it remains onscreen
      * as best it can, given it's unique qualities.
-     *
+     * <p>
      * As will all other functions, this one returns a Point2D that represents an x,y
      * location that should safely position the item onscreen as best as possible.
-     *
+     * <p>
      * Note that <code>width</code> and <height> refer to the width and height of the
      * node/popup that is needing to be repositioned, not of the parent.
-     *
+     * <p>
      * Don't use the BASELINE vpos, it doesn't make sense and would produce wrong result.
      */
     public static Point2D pointRelativeTo(Object parent, double width,
-                                          double height, double screenX, double screenY, HPos hpos, VPos vpos)
-    {
+                                          double height, double screenX, double screenY, HPos hpos, VPos vpos) {
         double finalScreenX = screenX;
         double finalScreenY = screenY;
         final Bounds parentBounds = getBounds(parent);
@@ -346,12 +349,12 @@ public class NodeUtils {
         if (vpos != null) {
             // don't let the node go off the bottom of the current screen
             if ((finalScreenY + height) > screenBounds.getMaxY()) {
-                finalScreenY = positionY(parentBounds, height, getVPosOpposite(hpos,vpos));
+                finalScreenY = positionY(parentBounds, height, getVPosOpposite(hpos, vpos));
             }
 
             // don't let the node out of the top of the current screen
             if (finalScreenY < screenBounds.getMinY()) {
-                finalScreenY = positionY(parentBounds, height, getVPosOpposite(hpos,vpos));
+                finalScreenY = positionY(parentBounds, height, getVPosOpposite(hpos, vpos));
             }
         }
 
@@ -392,7 +395,7 @@ public class NodeUtils {
      * Utility function that returns the y-axis position that an object should be positioned at,
      * given the parents screen bounds, the height of the object, and
      * the required VPos.
-     *
+     * <p>
      * The BASELINE vpos doesn't make sense here, 0 is returned for it.
      */
     private static double positionY(Bounds parentBounds, double height, VPos vpos) {
@@ -414,11 +417,11 @@ public class NodeUtils {
      */
     private static Bounds getBounds(Object obj) {
         if (obj instanceof Node) {
-            final Node n = (Node)obj;
+            final Node n = (Node) obj;
             Bounds b = n.localToScreen(n.getLayoutBounds());
             return b != null ? b : new BoundingBox(0, 0, 0, 0);
         } else if (obj instanceof Window) {
-            final Window window = (Window)obj;
+            final Window window = (Window) obj;
             return new BoundingBox(window.getX(), window.getY(), window.getWidth(), window.getHeight());
         } else {
             return new BoundingBox(0, 0, 0, 0);
@@ -431,11 +434,11 @@ public class NodeUtils {
      */
     private static HPos getHPosOpposite(HPos hpos, VPos vpos) {
         if (vpos == VPos.CENTER) {
-            if (hpos == HPos.LEFT){
+            if (hpos == HPos.LEFT) {
                 return HPos.RIGHT;
-            } else if (hpos == HPos.RIGHT){
+            } else if (hpos == HPos.RIGHT) {
                 return HPos.LEFT;
-            } else if (hpos == HPos.CENTER){
+            } else if (hpos == HPos.CENTER) {
                 return HPos.CENTER;
             } else {
                 // by default center for now
@@ -452,13 +455,13 @@ public class NodeUtils {
      */
     private static VPos getVPosOpposite(HPos hpos, VPos vpos) {
         if (hpos == HPos.CENTER) {
-            if (vpos == VPos.BASELINE){
+            if (vpos == VPos.BASELINE) {
                 return VPos.BASELINE;
-            } else if (vpos == VPos.BOTTOM){
+            } else if (vpos == VPos.BOTTOM) {
                 return VPos.TOP;
-            } else if (vpos == VPos.CENTER){
+            } else if (vpos == VPos.CENTER) {
                 return VPos.CENTER;
-            } else if (vpos == VPos.TOP){
+            } else if (vpos == VPos.TOP) {
                 return VPos.BOTTOM;
             } else {
                 // by default center for now
@@ -510,7 +513,7 @@ public class NodeUtils {
 
         selectedScreen = null;
         double maxIntersection = 0;
-        for (final Screen screen: screens) {
+        for (final Screen screen : screens) {
             final Rectangle2D screenBounds = screen.getBounds();
             final double intersection =
                     getIntersectionLength(rectX0, rectX1,
@@ -532,7 +535,7 @@ public class NodeUtils {
 
         selectedScreen = Screen.getPrimary();
         double minDistance = Double.MAX_VALUE;
-        for (final Screen screen: screens) {
+        for (final Screen screen : screens) {
             final Rectangle2D screenBounds = screen.getBounds();
             final double dx = getOuterDistance(rectX0, rectX1,
                     screenBounds.getMinX(),

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/utils/ToggleButtonsUtil.java

@@ -45,6 +45,7 @@ public class ToggleButtonsUtil {
     /**
      * Adds a handler to the given {@code ToggleGroup} to make sure there's always at least
      * one {@code ToggleButton} selected.
+     *
      * @param toggleGroup The given ToggleGroup
      */
     public static void addAlwaysOneSelectedSupport(final ToggleGroup toggleGroup) {

+ 3 - 1
materialfx/src/main/java/io/github/palexdev/materialfx/validation/MFXDialogValidator.java

@@ -90,6 +90,7 @@ public class MFXDialogValidator extends AbstractMFXValidator {
 
     /**
      * Shows this validator's dialog. The dialog is modal and scrims the background.
+     *
      * @param owner The dialog's owner.
      */
     public void showModal(Window owner) {
@@ -110,8 +111,9 @@ public class MFXDialogValidator extends AbstractMFXValidator {
 
     /**
      * Adds a new boolean condition to the list with the corresponding message in case it is false.
+     *
      * @param property The new boolean condition
-     * @param message The message to show in case it is false
+     * @param message  The message to show in case it is false
      */
     public void add(BooleanProperty property, String message) {
         super.conditions.add(property);

+ 1 - 0
materialfx/src/main/java/io/github/palexdev/materialfx/validation/base/AbstractMFXValidator.java

@@ -30,6 +30,7 @@ import javafx.collections.ObservableList;
 
 /**
  * Base class for all validators.
+ *
  * @see IMFXValidator
  * @see BooleanListBinding
  */

+ 4 - 1
materialfx/src/main/resources/io/github/palexdev/materialfx/css/legacy/mfx-tableview.css

@@ -42,6 +42,7 @@
     -mfx-thumb-color: rgb(157, 157, 157);
     -mfx-thumb-hover-color: rgb(88, 88, 88);
 }
+
 .mfx-legacy-table-view .column-header,
 .mfx-legacy-table-view .column-header-background,
 .mfx-legacy-table-view .column-header-background .filler {
@@ -84,8 +85,9 @@
 
 /* Remove JavaFX crap */
 .mfx-legacy-table-view > .virtual-flow > .corner {
-    -fx-background-color: transparent ;
+    -fx-background-color: transparent;
 }
+
 .mfx-legacy-table-view > .virtual-flow > .scroll-bar,
 .mfx-legacy-table-view > .virtual-flow > .scroll-bar .decrement-arrow,
 .mfx-legacy-table-view > .virtual-flow > .scroll-bar .increment-arrow,
@@ -138,6 +140,7 @@
     -fx-border-radius: 2.0em;
     -fx-background-insets: 3;
 }
+
 .mfx-legacy-table-view .mfx-scroll-bar:vertical .track {
     -fx-background-color: -mfx-track-color;
     -fx-border-color: transparent;

+ 1 - 1
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listcell.css

@@ -34,7 +34,7 @@
 }
 
 .list-cell .text {
-    -fx-fill: -fx-text-background-color ;
+    -fx-fill: -fx-text-background-color;
 }
 
 .list-cell:selected .text {

+ 1 - 1
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-listview.css

@@ -41,7 +41,7 @@
 
 /* Remove JavaFX crap */
 .mfx-list-view > .virtual-flow > .corner {
-    -fx-background-color: transparent ;
+    -fx-background-color: transparent;
 }
 
 .mfx-list-view > .virtual-flow > .scroll-bar,

+ 2 - 2
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-progressbar.css

@@ -16,12 +16,12 @@
  *     along with MaterialFX.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-.mfx-progress-bar > .track{
+.mfx-progress-bar > .track {
     -fx-background-color: #E0E0E0;
 }
 
 .mfx-progress-bar > .bar,
-.mfx-progress-bar:indeterminate > .bar{
+.mfx-progress-bar:indeterminate > .bar {
     -fx-background-color: #0F9D58;
     -fx-padding: 2.0;
 }

+ 1 - 1
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-scrollpane.css

@@ -37,7 +37,7 @@
 }
 
 .mfx-scroll-pane > .corner {
-    -fx-background-color: transparent ;
+    -fx-background-color: transparent;
 }
 
 .mfx-scroll-pane .scroll-bar {

+ 2 - 2
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-tableview.css

@@ -28,11 +28,11 @@
 }
 
 .mfx-table-view .container .columns-container {
-    -fx-border-color:  transparent transparent -fx-table-borders transparent;
+    -fx-border-color: transparent transparent -fx-table-borders transparent;
 }
 
 .mfx-table-view .container .rows-container {
-    -fx-border-color:  transparent;
+    -fx-border-color: transparent;
 }
 
 .mfx-table-view .pagination {

+ 4 - 3
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-togglebutton.css

@@ -37,14 +37,15 @@
 .mfx-toggle-button Line {
     -fx-stroke: -mfx-untoggle-line-color;
 }
-.mfx-toggle-button:selected Line{
+
+.mfx-toggle-button:selected Line {
     -fx-stroke: -mfx-toggle-line-color;
 }
 
-.mfx-toggle-button Circle{
+.mfx-toggle-button Circle {
     -fx-fill: -mfx-untoggle-color;
 }
 
-.mfx-toggle-button:selected Circle{
+.mfx-toggle-button:selected Circle {
     -fx-fill: -mfx-toggle-color;
 }

+ 1 - 1
materialfx/src/main/resources/io/github/palexdev/materialfx/css/mfx-togglenode.css

@@ -21,7 +21,7 @@
 .mfx-toggle-node:hover,
 .mfx-toggle-node:focused,
 .mfx-toggle-node:selected,
-.mfx-toggle-node:focused:selected{
+.mfx-toggle-node:focused:selected {
     -fx-background-color: TRANSPARENT, TRANSPARENT, TRANSPARENT, TRANSPARENT;
     -fx-background-radius: 3px;
     -fx-background-insets: 0px;