- CI runs Error Prone with Java 11
- use Gradle task `errorprone` to run it on development machine
- fixes are mostly cosmetic except:
- use Locale.ENGLISH for String.toLowerCase()
- use explicit character encoding when reading/writing files
- TabbedPane: wrong logic in mouse-wheel scrolling
- SplitPane: simplified property change listener (fixes hiding field `propertyChangeListener` of superclass)
Currently, FlatLaf has the following module dependencies:
$ jdeps --list-deps --multi-release 9 flatlaf-1.0.jar
java.base
java.desktop
java.logging
This commit makes the java.logging dependency optional and hides logging behind a facade that falls back to printing to stderr if the java.logging module is not available.
To test, create a reduced JRE with a command like
jdk-15/bin/jlink.exe --module-path jdk-15/jmods --add-modules java.desktop --add-modules java.instrument --output jre-15-desktop-only
(adding java.instrument, so the FlatLafDemo main class can be started from IntelliJ IDEA)