revivius / nb-darcula Goto Github PK
View Code? Open in Web Editor NEWDarcula LAF for NetBeans
Darcula LAF for NetBeans
Tabs for source files is always bold. This was part of the indication when a file had modifications (bold) vs. no modification (normal).
After upgrading to version 1.3 on a NetBeans 8.1 running on Java 7 I got an UnsupportedClassVersionError
exception.
It seems the last version includes a DarculaLAF (darcula.jar
) compiled with Java 8.
It would be great if you could support at least Java 7 and NetNeans 8.0.x even if this may oblige you to recompile Darcula LAF, otherwise clearly indicate the minimum Java/NetBeans version required in the plugin information page.
See the screenshots at #22
If I paste code then Import Classes dialog is showed. Where classes are not readable.
Maybe it is same issue as #22
Before I used Darcula I head no problems with the Netbeans signer plugin: http://plugins.netbeans.org/plugin/9499/netbeans-signer
No I got an exception, when I click on the button "Create keystore..."
java.lang.ArrayIndexOutOfBoundsException: 0
at com.bulenkov.darcula.ui.DarculaSpinnerUI.replaceEditor(DarculaSpinnerUI.java:60)
at javax.swing.plaf.basic.BasicSpinnerUI$Handler.propertyChange(BasicSpinnerUI.java:974)
at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:335)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:327)
at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:263)
at java.awt.Component.firePropertyChange(Component.java:8422)
at javax.swing.JSpinner.setEditor(JSpinner.java:520)
at com.toedter.components.JSpinField.<init>(Unknown Source)
at com.toedter.components.JSpinField.<init>(Unknown Source)
at com.toedter.calendar.JYearChooser.<init>(Unknown Source)
at com.toedter.calendar.JCalendar.<init>(Unknown Source)
at com.toedter.calendar.JCalendar.<init>(Unknown Source)
at com.toedter.calendar.JDateChooser.<init>(Unknown Source)
at com.toedter.calendar.JDateChooser.<init>(Unknown Source)
at org.netbeans.modules.signer.gui.KeystoreCreatorDialog.initComponents(KeystoreCreatorDialog.java:65)
at org.netbeans.modules.signer.gui.KeystoreCreatorDialog.<init>(KeystoreCreatorDialog.java:33)
at org.netbeans.modules.signer.gui.WindowManager.showKeystoreCreator(WindowManager.java:35)
at org.netbeans.modules.signer.gui.NBSignerDialog.jBtnCreateKeystoreActionPerformed(NBSignerDialog.java:257)
at org.netbeans.modules.signer.gui.NBSignerDialog.access$200(NBSignerDialog.java:24)
at org.netbeans.modules.signer.gui.NBSignerDialog$3.actionPerformed(NBSignerDialog.java:143)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6525)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6290)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
at java.awt.Container.dispatchEventImpl(Container.java:2278)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159)
[catch] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Regards
Chris
I saw it several times, that after installing the plugin the "font-color"-theme hasn't been set to Darcula.
For this cases:
Solution A) add a button to the options, which set the current "font-color"-theme to Darcula. Use the same code from the Installer-class
or
Solution B) add a label to the options, which says "you may like to set the corresponding editor-theme at Options|Font&Colors to "Darcula" to get a better experience blablabla..."
Currently, the release dates in the "readme.md" file have incorrect year (2017).
Please correct it to 2016.
It's very handy in IDEA. I don't know if NetBeans platform supports it or not, though.
See also the latest screenshots from @ZMichaelChow at #20
He compared several other LAFs and also the Darcula LAF from IDEA
The plugin sets the Theme Profile to "Darcula". That's a permanent setting saves in Preferences
. Ouch !
I wanted to try out the plugin and therefore installed it. I then decided the dark'ish L&F isn't for me (nothing wrong with the plugin itself, I'm just not ready for it). However then I noticed that an uninstall of the plugin did not get my IDE back to where it was before. This is due to the Editor Theme Profile not being reverted to what it used to be.
I don't know if it as actually possible for a plugin to take some kind of action on uninstall? ModuleInstall.uninstalled() doesn't seem to be able to do it. The second best solution would be to alert the user that manual intervention is required if the plugin is uninstalled.
This is issue was also discussed on the nbdev mailling list.
What you see below is a minimal NetBeans Platform application using nb-darcula 1.4.
As can be seen it is very hard to read a standard Notification like the one displayed in the lower right corner of the main window.
The problem isn't specific to nb-darcula. I'm doing NetBeans L&Fs myself (or at least attempting to) so I've come across the same problem with another dark'ish L&F that I'm using. I haven't found a way to solve it. The problem is with NotificationImpl
in core.ui. If you look into the NB source you'll see that the clickable text isn't actually a link but is simply some underlined text (<html><u> ....
) inside a JButton and then the implementation does :
btn.setForeground(Color.blue);
Ouch!
So the color is hardcoded. There's nothing that can be tweaked as far as I can see. If the question on the mailing list doesn't give a possible workaround then I'll log it as an enhancement request to NB and note the BugZilla id here when I do.
Thanks.
hi, netbeans dev version
when starting ide this exception is thrown
java.lang.ClassNotFoundException: org.netbeans.modules.form.layoutdesign.LayoutPainter
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:222)
Caused: java.lang.ClassNotFoundException: org.netbeans.modules.form.layoutdesign.LayoutPainter starting from SystemClassLoader[415 modules] with possible defining loaders null and declared parents [org.netbeans.MainImpl$BootClassLoader@2e5d6d97, ModuleCL@35f11c9d[org.netbeans.api.annotations.common], ModuleCL@24113f75[org.openide.awt], ModuleCL@1ec4b158[org.netbeans.api.progress], ModuleCL@1f55a065[org.netbeans.api.progress.nb], ModuleCL@731a421f[org.openide.dialogs], ModuleCL@65963759[org.openide.nodes], ModuleCL@77406304[org.openide.windows], ModuleCL@631073ce[org.netbeans.modules.editor.mimelookup], ModuleCL@1f14f059[org.openide.text], ...395 more]
at org.netbeans.ProxyClassLoader.loadClass(ProxyClassLoader.java:224)
at org.netbeans.ModuleManager$SystemClassLoader.loadClass(ModuleManager.java:772)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
[catch] at com.revivius.nb.darcula.DarculaLFCustoms.replaceFieldValue(DarculaLFCustoms.java:542)
at com.revivius.nb.darcula.DarculaLFCustoms.replaceFormDesignerGapBorderColors(DarculaLFCustoms.java:511)
at com.revivius.nb.darcula.DarculaLFCustoms.createLookAndFeelCustomizationKeysAndValues(DarculaLFCustoms.java:231)
at org.netbeans.swing.plaf.LFCustoms.getLookAndFeelCustomizationKeysAndValues(LFCustoms.java:196)
at org.netbeans.swing.plaf.Startup.installLFCustoms(Startup.java:350)
at org.netbeans.swing.plaf.Startup.installPerLFDefaults(Startup.java:275)
at org.netbeans.swing.plaf.Startup.install(Startup.java:253)
at org.netbeans.swing.plaf.Startup.run(Startup.java:552)
at org.netbeans.core.CoreBridgeImpl$1$1.run(CoreBridgeImpl.java:137)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Might be a good idea to have the URL http://plugins.netbeans.org/plugin/62424/darcula-laf-for-netbeans somewhere at the top of the README.md so that users can quickly get there to download it for the IDE. Might also be a good idea to upload the releases here on Github, so users can quickly try some of the builds, as they would most likely be catalogued
Steps to reproduce:
Notice how the "composer" menu item doesn't have an arrow or any other icon indicating that it has another dropdown. When you hover over it however, it does display. Even if this is by design, I think we still need to have the arrows (just slightly transparent) so that we know there are more options.
normally when you press alt+insert and select constructor you can press enter to generate the constructor with selected fields
with this plugin active enter doesn't work like this anymore, it just toggles the class properties dropdown
after deactivating the plugin it works as before
Enter focus is lost in some dialogs. For example if I want insert code (ALT+Insert) than I choose Constructor and press enter nothing happens. This is different behavier from default LAF.
Next example. I have project with some warning and I want Find Usages. First dialog has focus on find and everything is ok if I press enter. Second step (dialog with warning) do nothing after press enter. But focus look like on Find.
Much like on the project page, I think it would be a good idea to get a screenshot included into the Readme that shows off the entire IDE, perhaps use the same one thats on the plugin page?
Edit: I see the image was actually changed on the plugin page, my browser was probably just caching it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.