with Java 8, some GLib related messages are logged to console and system file dialog is not shown
e.g.: `GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'`
with Java 17, the system file dialog is shown, but then JavaFX no longer works
with Java 21, the application quits/crashes immediately when trying to show system file dialog
also fixed Error Prone warning in `getFiltersForDialog()`
- fixed missing filter in combobox if only `setFileFilter(myFilter)` is used, but not `addChoosableFileFilter(myFilter)`
- fallback Swing file chooser did ignore `isAcceptAllFileFilterUsed()`
- check for supported filter types in `setFileFilter()`
- convert mouse wheel event before dispatching it to parent
- use `Component.dispatchEvent()`, instead of invoking mouse wheel listeners directly, which dispatches the event to an ancestor
- added icon-only tab mode, which shows tab icons but hides tab titles
- in "Show Hidden Tabs" popup menu, do not show text "x. Tab" if tab has icon but no title (issue #1062)
The method applyStyleProperty of class FlatRadioButtonUI currently styles the variable icon, a field of the parent class BasicRadioButtonUI and the default icon which is set with UIManager.getIcon in method installDefaults.
So the wrong icon is styled if someone subclasses FlatRadioBoxIcon or FlatCheckBoxIcon and sets this as the new icon for a JRadioButton or JCheckBox instance. (An example why someone would do so is shown in issue #413).
With this change styling takes account of the current icon of a JRadioButton or JCheckBox.
Notes:
- Gradle 9+ requires Java 17 to run
- using Java 21 on GitHub Actions
- not using Java 25 because Kotlin does not yet support it and output some warnings
for some unknown reason (maybe newer Visual C++ version),
MSVC on GitHub Actions no longer inlines methods `wcscpy` and `wcslen`,
which results in linker error:
`error LNK2019: unresolved external symbol wcscpy/wcslen`
- default is now Java 8 toolchain (to fix Eclipse project import)
- `src/main/module-info` and `src/main/java9` are compiled with Java 11 toolchain (if global toolchain is Java 8)
- `src/main/module-info` and `src/main/java9` are no longer imported into Eclipse projects
- task `errorprone` now uses at least Java 11 toolchain
- always use Java toolchains
- default is Java 11 (but source/targetCompatibility is still 1.8)
- use system property `toolchain` (e.g. `-Dtoolchain=25`) to compile with other Java versions
preparation for Gradle 9.x, which requires Java 17+ to run
now using old implementation again (before commit 2ac7234c32), but if that does not find properties file, then fallback to new implementation from commit 2ac7234c32