Bug 61697

Summary: Introduce Darcula Look And Feel to make JMeter UI more attractive
Product: JMeter Reporter: Philippe Mouawad <p.mouawad>
Component: MainAssignee: JMeter issues mailing list <issues>
Status: RESOLVED FIXED    
Severity: enhancement CC: p.mouawad
Priority: P2    
Version: 3.3   
Target Milestone: ---   
Hardware: All   
OS: All   
Attachments: Theme for Darcula by Philippe
Darcula theme proposal by Maxime
Dark Theme present in JSyntaxTextArea
Monokai Theme
Screenshot showing a slight bug on Mac where the titles of columns are not displayed

Description Philippe Mouawad 2017-10-30 20:20:00 UTC
As per discussion on dev mailing list:

"Integrating Darcula LAF as JMeter main LAF"
Comment 1 Philippe Mouawad 2017-10-30 20:31:12 UTC
Author: pmouawad
Date: Mon Oct 30 20:30:04 2017
New Revision: 1813826

URL: http://svn.apache.org/viewvc?rev=1813826&view=rev
Log:
Bug 61697 - Introduce Darcula Look And Feel to make JMeter UI more attractive
Bugzilla Id: 61697

Modified:
    jmeter/trunk/LICENSE
    jmeter/trunk/build.properties
    jmeter/trunk/build.xml
    jmeter/trunk/eclipse.classpath
    jmeter/trunk/lib/   (props changed)
    jmeter/trunk/lib/aareadme.txt
    jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java
    jmeter/trunk/xdocs/changes.xml
Comment 2 Philippe Mouawad 2017-10-30 21:15:34 UTC
Author: pmouawad
Date: Mon Oct 30 21:13:58 2017
New Revision: 1813831

URL: http://svn.apache.org/viewvc?rev=1813831&view=rev
Log:
Bug 61697 - Introduce Darcula Look And Feel to make JMeter UI more attractive
Fix tests
Bugzilla Id: 61697

Modified:
    jmeter/trunk/LICENSE
    jmeter/trunk/test/src/org/apache/jmeter/JMeterVersionTest.java
Comment 3 Philippe Mouawad 2017-11-19 10:47:10 UTC
Author: pmouawad
Date: Sun Nov 19 10:46:52 2017
New Revision: 1815724

URL: http://svn.apache.org/viewvc?rev=1815724&view=rev
Log:
Bug 61697 - Introduce Darcula Look And Feel to make JMeter UI more attractive
Install LAF correctly
Change Preference name so that previous chosen preferences does not hide this new feature
Remove overriden settings in JMeter
Bugzilla Id: 61697

Modified:
    jmeter/trunk/bin/jmeter.properties
    jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterMenuBar.java
Comment 4 Philippe Mouawad 2017-11-21 12:33:17 UTC
Author: pmouawad
Date: Tue Nov 21 12:32:33 2017
New Revision: 1815915

URL: http://svn.apache.org/viewvc?rev=1815915&view=rev
Log:
Bug 61697 - Introduce Darcula Look And Feel to make JMeter UI more attractive
Bugzilla Id: 61697

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/action/LookAndFeelCommand.java
Comment 5 Philippe Mouawad 2017-11-23 14:09:26 UTC
Author: pmouawad
Date: Thu Nov 23 14:04:45 2017
New Revision: 1816155

URL: http://svn.apache.org/viewvc?rev=1816155&view=rev
Log:
Bug 61697 Introduce Darcula Look And Feel to make JMeter UI more attractive
Bugzilla Id: 61697

Added:
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/theme/
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/theme/darcula_theme.xml   (with props)
Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/JSyntaxTextArea.java
Comment 6 Philippe Mouawad 2017-11-23 17:18:07 UTC
Created attachment 35551 [details]
Theme for Darcula by Philippe
Comment 7 Philippe Mouawad 2017-11-23 17:18:37 UTC
Created attachment 35552 [details]
Darcula theme proposal by Maxime
Comment 9 Philippe Mouawad 2017-11-23 17:22:12 UTC
Created attachment 35553 [details]
Dark Theme present in JSyntaxTextArea
Comment 10 Philippe Mouawad 2017-11-23 17:26:40 UTC
Created attachment 35554 [details]
Monokai Theme
Comment 11 Antonio Gomes Rodrigues 2017-11-24 10:40:55 UTC
Hi,

In Windows I can't execute JMeter in the last nighty build (r1816194)


I have

2017-11-24 11:38:27,570 ERROR o.a.j.g.u.JSyntaxTextArea: Error reading darcula_theme for JSyntaxTextArea
java.io.IOException: java.io.IOException: Stream closed
	at org.fife.ui.rsyntaxtextarea.Theme$XmlHandler.load(Theme.java:624) ~[rsyntaxtextarea-2.6.1.jar:2.6.1]
	at org.fife.ui.rsyntaxtextarea.Theme.load(Theme.java:355) ~[rsyntaxtextarea-2.6.1.jar:2.6.1]
	at org.fife.ui.rsyntaxtextarea.Theme.load(Theme.java:333) ~[rsyntaxtextarea-2.6.1.jar:2.6.1]
	at org.apache.jmeter.gui.util.JSyntaxTextArea.initTheme(JSyntaxTextArea.java:266) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.util.JSyntaxTextArea.<clinit>(JSyntaxTextArea.java:45) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.functions.gui.FunctionHelper.init(FunctionHelper.java:124) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.functions.gui.FunctionHelper.<init>(FunctionHelper.java:80) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.action.CreateFunctionDialog.<init>(CreateFunctionDialog.java:37) [ApacheJMeter_core.jar:r1816194]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_144]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) [?:1.8.0_144]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) [?:1.8.0_144]
	at java.lang.Class.newInstance(Unknown Source) [?:1.8.0_144]
	at org.apache.jmeter.gui.action.ActionRouter.populateCommandMap(ActionRouter.java:372) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.startGui(JMeter.java:371) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.start(JMeter.java:522) [ApacheJMeter_core.jar:r1816194]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
	at org.apache.jmeter.NewDriver.main(NewDriver.java:248) [ApacheJMeter.jar:r1816194]
2017-11-24 11:38:27,661 ERROR o.a.j.g.a.ActionRouter: exception finding action handlers
java.lang.NullPointerException: null
	at org.apache.jmeter.gui.util.JSyntaxTextArea.applyTheme(JSyntaxTextArea.java:118) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.util.JSyntaxTextArea.getInstance(JSyntaxTextArea.java:78) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.util.JSyntaxTextArea.getInstance(JSyntaxTextArea.java:139) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.functions.gui.FunctionHelper.init(FunctionHelper.java:124) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.functions.gui.FunctionHelper.<init>(FunctionHelper.java:80) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.action.CreateFunctionDialog.<init>(CreateFunctionDialog.java:37) ~[ApacheJMeter_core.jar:r1816194]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_144]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_144]
	at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_144]
	at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_144]
	at org.apache.jmeter.gui.action.ActionRouter.populateCommandMap(ActionRouter.java:372) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.startGui(JMeter.java:371) [ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.start(JMeter.java:522) [ApacheJMeter_core.jar:r1816194]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
	at org.apache.jmeter.NewDriver.main(NewDriver.java:248) [ApacheJMeter.jar:r1816194]
2017-11-24 11:38:27,786 ERROR o.a.j.JMeter: An error occurred: 
java.lang.NullPointerException: null
	at org.apache.jmeter.gui.util.JSyntaxTextArea.applyTheme(JSyntaxTextArea.java:118) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.util.JSyntaxTextArea.getInstance(JSyntaxTextArea.java:78) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.LoggerPanel.init(LoggerPanel.java:84) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.LoggerPanel.<init>(LoggerPanel.java:74) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.MainFrame.createLoggerPanel(MainFrame.java:614) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.MainFrame.init(MainFrame.java:512) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.gui.MainFrame.<init>(MainFrame.java:220) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.startGui(JMeter.java:376) ~[ApacheJMeter_core.jar:r1816194]
	at org.apache.jmeter.JMeter.start(JMeter.java:522) [ApacheJMeter_core.jar:r1816194]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_144]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_144]
	at org.apache.jmeter.NewDriver.main(NewDriver.java:248) [ApacheJMeter.jar:r1816194]
Comment 12 Philippe Mouawad 2017-11-24 12:47:01 UTC
Author: pmouawad
Date: Fri Nov 24 11:11:24 2017
New Revision: 1816230

URL: http://svn.apache.org/viewvc?rev=1816230&view=rev
Log:
Bug 61697 Introduce Darcula Look And Feel to make JMeter UI more attractive
Forgot to commit the xml addition to jar
Bugzilla Id: 61697

Modified:
    jmeter/trunk/build.xml
Comment 13 Philippe Mouawad 2017-11-24 12:47:33 UTC
Hi Antonio,
I had forgotten a commit.
Can you test again and give your feedback on different proposals ?
Thanks
Comment 14 Antonio Gomes Rodrigues 2017-11-24 17:41:20 UTC
Work fine in Windows now

Thank
Antonio
Comment 15 Philippe Mouawad 2017-11-28 21:19:42 UTC
Created attachment 35563 [details]
Screenshot showing a slight bug on Mac where the titles of columns are not displayed

There is non blocker bug in Darcula LAF where in File Chooser the column titles show label keys
Comment 16 Philippe Mouawad 2017-12-30 14:17:37 UTC
Author: pmouawad
Date: Sat Dec 30 14:15:08 2017
New Revision: 1819606

URL: http://svn.apache.org/viewvc?rev=1819606&view=rev
Log:
Bug 61697 Introduce Darcula Look And Feel to make JMeter UI more attractive
Change highlight color as it makes text unreadable with Darcula LAF
Bugzilla Id: 61697

Modified:
    jmeter/trunk/src/components/org/apache/jmeter/visualizers/SearchTextExtension.java
Comment 17 Philippe Mouawad 2018-01-11 22:18:30 UTC
Author: pmouawad
Date: Thu Jan 11 22:17:36 2018
New Revision: 1820936

URL: http://svn.apache.org/viewvc?rev=1820936&view=rev
Log:
Bug 61697 - Introduce Darcula Look And Feel to make JMeter UI more attractive
Matched brackets are not visible, fix that
Bugzilla Id: 61697

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/gui/util/theme/darcula_theme.xml