Substance look and feel does not work with Java 9. If running Java 8, and Substance is the look and feel, then stopping jEdit, switching to Java 9, then jEdit will fail to start.
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: java.lang.NullPointerException
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.SwingUtilities.getWindowAncestor(SwingUtilities.java:144)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.SubstanceCoreUtilities.traceSubstanceApiUsage(SubstanceCoreUtilities.java:2107)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.SubstanceColorSchemeUtilities.getColorScheme(SubstanceColorSchemeUtilities.java:268)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.icon.ArrowButtonTransitionAwareIcon.<init>(ArrowButtonTransitionAwareIcon.java:137)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.icon.ArrowButtonTransitionAwareIcon.<init>(ArrowButtonTransitionAwareIcon.java:103)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.icon.MenuArrowIcon.<init>(MenuArrowIcon.java:61)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.utils.SkinUtilities$1.createValue(SkinUtilities.java:34)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:224)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.UIDefaults.get(UIDefaults.java:169)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:65)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.UIDefaults.getIcon(UIDefaults.java:480)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.UIManager.getIcon(UIManager.java:779)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.installDefaults(BasicMenuItemUI.java:229)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.plaf.basic.BasicMenuUI.installDefaults(BasicMenuUI.java:90)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.ui.SubstanceMenuUI.orgpushingpixelssubstanceinternaluiSubstanceMenuUIinstallDefaults(SubstanceMenuUI.java:103)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.ui.SubstanceMenuUI.installDefaults(SubstanceMenuUI.java)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.installUI(BasicMenuItemUI.java:153)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.ui.SubstanceMenuUI.orgpushingpixelssubstanceinternaluiSubstanceMenuUIinstallUI(SubstanceMenuUI.java)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.pushingpixels.substance.internal.ui.SubstanceMenuUI.installUI(SubstanceMenuUI.java)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JComponent.setUI(JComponent.java:685)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.AbstractButton.setUI(AbstractButton.java:1753)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenuItem.setUI(JMenuItem.java:234)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenu.updateUI(JMenu.java:209)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenuItem.init(JMenuItem.java:208)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:147)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenuItem.<init>(JMenuItem.java:124)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenu.<init>(JMenu.java:161)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JMenu.<init>(JMenu.java:151)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at lookandfeel.LookAndFeelPlugin$1.run(LookAndFeelPlugin.java:114)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.AccessController.doPrivileged(Native Method)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.AccessController.doPrivileged(Native Method)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.show(Component.java:1669)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.setVisible(Component.java:1616)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Window.setVisible(Window.java:1017)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.jedit.options.CombinedOptions._init(CombinedOptions.java:84)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.jedit.options.CombinedOptions.<init>(CombinedOptions.java:64)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.Reflect.constructObject(Reflect.java:621)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHAllocationExpression.constructObject(BSHAllocationExpression.java:123)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHAllocationExpression.objectAllocation(BSHAllocationExpression.java:114)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHAllocationExpression.eval(BSHAllocationExpression.java:62)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHBlock.evalBlock(BSHBlock.java:130)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BSHBlock.eval(BSHBlock.java:80)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BshMethod.invokeImpl(BshMethod.java:362)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BshMethod.invoke(BshMethod.java:258)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.bsh.BshMethod.invoke(BshMethod.java:186)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.BeanShellFacade.runCachedBlock(BeanShellFacade.java:233)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.BeanShell.runCachedBlock(BeanShell.java:439)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.BeanShellAction.invoke(BeanShellAction.java:73)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.gui.InputHandler.invokeAction(InputHandler.java:343)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.jEdit$6.invokeAction(jEdit.java:3599)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.jEdit$6.invokeAction(jEdit.java:3581)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at org.gjt.sp.jedit.EditAction$Wrapper.actionPerformed(EditAction.java:214)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:980)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1024)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.processEvent(Component.java:6343)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Container.processEvent(Container.java:2259)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.AccessController.doPrivileged(Native Method)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.AccessController.doPrivileged(Native Method)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
1:09:52 PM [AWT-EventQueue-0] [error] LookAndFeelPlugin: at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
It appears Kirill, the original developer of Substance, has resurrected the project and is planning a final release on October 16. I'll check if that release fixes this issue.
Hi
Sorry about the dumb question, but how do we go about installing the latest
version of Substance? I see no update in the plugin list, and the version I
have installed still crashes in Java 9.
thanks
James
On Fri, Oct 27, 2017 at 3:23 AM, Dale Anson via jEdit-devel jedit-devel@lists.sourceforge.net wrote:
It's in the queue for release. In the meantime, and if you have the
capability, you can check out the code and compile it yourself. In addition
to working with Java 9, it's been updated to work well on the new hi res
displays.
Latest version of Substance works well with Java 9.