Add Flat LAF & IntelliJ themes support capability in JMeter #6312
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I've introduced support for Flat LAF Themes in JMeter; Flat LAF is an open source https://www.formdev.com/flatlaf/ Java Swing library with modern look & feel, supports IntelliJ themes, HiDPI, etc (see the website).
If's compatible with JMeter codebase by default.
New parameters are defined & customizable in .properties & .xml file(s): one can adjust the JSyntaxTextArea.java theme defaults.
Few additional bugs/enhancements were also introduced in order to make the visual experience better.
For future: I would remove Darcula and DarkLaf from JMeter, doesn't make sense anymore to keep them; replace DarkLaf features/usage with FlatLAF API where possible.
Motivation and Context
Due to recent eye vision problems, I've started to need alternative themes support to use other colors; existing capability in JMeter was limited.
DarkLaf API currently in-use in JMeter seems to be non maintained (last update September 2022) and complicated to upgrade to latest version.
How Has This Been Tested?
Manually tested with various JMXs & Themes, especially with JSR223 test elements to validate the JSyntaxTextArea instances.
I've run tests on both Linux and Windows, with Java 8, 11 & 17.
Note: changes are fully compatible also with JMeter 5.x branch/version if needed.
Screenshots (if appropriate):
Types of changes
Checklist: