Add Flat LAF & IntelliJ themes support capability in JMeter - #6312
Add Flat LAF & IntelliJ themes support capability in JMeter#6312KingRabbid wants to merge 18 commits into
Conversation
…ctly apply LAF on RSyntaxArea components.
# Conflicts: # src/core/src/main/java/org/apache/jmeter/JMeterGuiLauncher.kt
|
Applied latest changes, any feedback please? |
…om default blue which hides font. Fallback to default system LAFs if one read from registry doesn't exists anymore. Increment FlatLAF dependency version.
Darklaf is not very active, however, the upgrade to the latest version was not really hard: #5715 Having multiple LaFs turned out to be hard to support. They have different quirks, and I agree if we switch to Flat LAF, we'd better drop Darklaf. @KingRabbid , Could you elaborate a bit on Flat LAF vs Darklaf in your experience? |
… fix some rsyntax issues with LAF and Zoom; smaller granularity for Zoom; uniform settings for LoggerPanel
|
Hi, there's little to detail on versus: This branch/repot contains also some few tweaks/fixes that make RSyntaxArea more compatible to LAF changes. |
# Conflicts: # src/bom-thirdparty/build.gradle.kts
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: