jMonkeyEngine / jMonkeyEngine/sdk

Nifty GUI editor crashes on launch

Open
#276 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Java
Stars
348
Forks
104
Avg merge
4d 13h
Merged PRs (30d)
3

Description

Nifty GUI editor crashes on launch. Apparently it is missing some dependencies:
java.lang.IllegalStateException: Cannot instantiate com.jme3.gde.gui.view.NiftyGuiVisualElement at org.netbeans.core.spi.multiview.MultiViewFactory$MapMVD.createElement(MultiViewFactory.java:464) at org.netbeans.core.multiview.MultiViewModel.getElementForDescription(MultiViewModel.java:222) at org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:132) at org.netbeans.core.multiview.MultiViewModel.getActiveElement(MultiViewModel.java:128) at org.netbeans.core.multiview.MultiViewPeer.showCurrentElement(MultiViewPeer.java:470) at org.netbeans.core.multiview.MultiViewPeer.showCurrentElement(MultiViewPeer.java:462) at org.netbeans.core.multiview.MultiViewPeer$SelectionListener.selectionChanged(MultiViewPeer.java:929) at org.netbeans.core.multiview.MultiViewModel.fireSelectionChanged(MultiViewModel.java:259) at org.netbeans.core.multiview.MultiViewModel.setActiveDescription(MultiViewModel.java:120) at org.netbeans.core.multiview.MultiViewModel$BtnGroup.setSelected(MultiViewModel.java:322) at javax.swing.JToggleButton$ToggleButtonModel.setSelected(JToggleButton.java:254) at javax.swing.ButtonGroup.setSelected(ButtonGroup.java:165) at org.netbeans.core.multiview.MultiViewModel$BtnGroup.setSelected(MultiViewModel.java:318) at org.netbeans.core.multiview.TabsComponent$ButtonMouseListener.mousePressed(TabsComponent.java:907) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:280) at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) 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:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:159) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) 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) Caused by: java.lang.NoSuchMethodException: com.jme3.gde.gui.view.NiftyGuiVisualElement.() at java.lang.Class.getConstructor0(Class.java:3082) at java.lang.Class.getConstructor(Class.java:1825) at org.netbeans.core.spi.multiview.MultiViewFactory$MapMVD.createElement(MultiViewFactory.java:450) … 47 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.netbeans.core.spi.multiview.MultiViewFactory$MapMVD.createElement(MultiViewFactory.java:447) … 47 more Caused by: java.lang.NoSuchMethodError: de.lessvoid.nifty.builder.PopupBuilder.childLayoutAbsolute()V at jada.ngeditor.model.utils.NiftyDDManager.(NiftyDDManager.java:32) at jada.ngeditor.guiviews.J2DNiftyView.init(J2DNiftyView.java:154) at com.jme3.gde.gui.view.NiftyGuiVisualElement.(NiftyGuiVisualElement.java:123) … 52 more

Here is the forum post about it:
https://hub.jmonkeyengine.org/t/sdk-vehicle-editing-direct-flash-back-problem/43258/4

The newest Nifty that works with the editor is Nifty 1.4.1 (some rendering code changed after that), current version uses some preview version of Nifty. Also one problem is that our plugin seems to be actually some fork of the official editor (https://github.com/relu91/niftyeditor). And this fork I suspect is only on @normen 's computer somewhere. If that were to be found, we could update it to the latest editor version and Nifty 1.4.1. Host that code somewhere and have the integration work as it used to.

Other way is probably just to try to find out the missing library. Shouldn't also be that hard. I'm talking about the update to latest editor since there are some problems with the editor (source: numerous forum posts), maybe an update would help...?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the launch failure and reading jada.ngeditor.model.utils.NiftyDDManager.java, jada.ngeditor.guiviews.J2DNiftyView.java, and com.jme3.gde.gui.view.NiftyGuiVisualElement.java around the reported constructor and Nifty API call. Compare the bundled Nifty version with 1.4.1 and investigate the relu91/niftyeditor fork; done means the Nifty GUI editor opens without the NoSuchMethodError and its integration is hosted and maintainable.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, devtools
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.