Some bugs in version 3.2.4

I found some problems with the 3.2.4 SDK version:

  1. Use niftyguivisual to report an error.

  2. Creating the. J3sn file did not respond.

Screenshot of the first question:


Screenshot of the second question:

By the way, I am running SDK 3.2.4 in Chinese, but there are no such problems in SDK 3.2.1

NiftyGUI Visual Editor is broken [has bugs] since it was initially added.
Do not use it as you might loose your xml files when making visual changes.

Number 2: Could it be that there is an invisible exception in the background? (Main Window, Output Window?)

Thank you. The second question is still under investigation:grinning:

The second problem is the exception:

java.lang.NullPointerException
at javax.swing.ImageIcon.(ImageIcon.java:217)
at com.jme3.gde.shadernodedefinition.wizard.SNDefVisualPanel2.initComponents(SNDefVisualPanel2.java:147)
at com.jme3.gde.shadernodedefinition.wizard.SNDefVisualPanel2.(SNDefVisualPanel2.java:25)
at com.jme3.gde.shadernodedefinition.wizard.SNDefWizardPanel2.getComponent(SNDefWizardPanel2.java:32)
at com.jme3.gde.shadernodedefinition.wizard.SNDefWizardPanel2.getComponent(SNDefWizardPanel2.java:12)
at com.jme3.gde.shadernodedefinition.wizard.SNDefWizardIterator.createSteps(SNDefWizardIterator.java:214)
at com.jme3.gde.shadernodedefinition.wizard.SNDefWizardIterator.getPanels(SNDefWizardIterator.java:61)
at com.jme3.gde.shadernodedefinition.wizard.SNDefWizardIterator.current(SNDefWizardIterator.java:155)
at org.openide.loaders.TemplateWizard$InstantiatingIteratorBridge.current(TemplateWizard.java:1015)
at org.openide.loaders.TemplateWizardIterImpl.current(TemplateWizardIterImpl.java:144)
at org.openide.loaders.TemplateWizardIteratorWrapper.current(TemplateWizardIteratorWrapper.java:92)
at org.openide.WizardDescriptor.updateStateOpen(WizardDescriptor.java:844)
at org.openide.WizardDescriptor.updateState(WizardDescriptor.java:822)
at org.openide.loaders.TemplateWizard.updateState(TemplateWizard.java:761)
at org.netbeans.modules.project.ui.NewFileWizard.updateState(NewFileWizard.java:135)
at org.openide.WizardDescriptor._updateState(WizardDescriptor.java:800)
at org.openide.WizardDescriptor.access$200(WizardDescriptor.java:92)
at org.openide.WizardDescriptor$Listener.stateChanged(WizardDescriptor.java:2180)
at org.openide.util.WeakListenerImpl$Change.stateChanged(WeakListenerImpl.java:356)
at org.openide.loaders.TemplateWizardIterImpl.run(TemplateWizardIterImpl.java:275)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEvent(NbMutexEventProvider.java:118)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.writeAccess(NbMutexEventProvider.java:83)
at org.netbeans.modules.openide.util.LazyMutexImplementation.writeAccess(LazyMutexImplementation.java:79)
at org.openide.util.Mutex.writeAccess(Mutex.java:310)
at org.openide.loaders.TemplateWizardIterImpl.fireStateChanged(TemplateWizardIterImpl.java:261)
at org.openide.loaders.TemplateWizardIterImpl.setIterator(TemplateWizardIterImpl.java:120)
at org.openide.loaders.TemplateWizardIteratorWrapper.setIterator(TemplateWizardIteratorWrapper.java:79)
at org.openide.loaders.TemplateWizard.setTemplateImpl(TemplateWizard.java:209)
at org.openide.loaders.TemplateWizard$1.run(TemplateWizard.java:231)
at org.openide.loaders.TemplateWizard$1.run(TemplateWizard.java:228)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:138)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:98)
at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:94)
at org.openide.util.Mutex.readAccess(Mutex.java:218)
at org.openide.loaders.TemplateWizard.setTemplate(TemplateWizard.java:228)
at org.netbeans.modules.project.ui.TemplateChooserPanel.storeSettings(TemplateChooserPanel.java:172)
at org.netbeans.modules.project.ui.TemplateChooserPanel.storeSettings(TemplateChooserPanel.java:72)
at org.openide.WizardDescriptor.storeSettingsAndNotify(WizardDescriptor.java:1391)
at org.openide.WizardDescriptor.access$1800(WizardDescriptor.java:92)
at org.openide.WizardDescriptor$Listener$1.run(WizardDescriptor.java:2203)
at org.openide.WizardDescriptor.lazyValidate(WizardDescriptor.java:1516)
at org.openide.WizardDescriptor.access$2000(WizardDescriptor.java:92)
at org.openide.WizardDescriptor$Listener.actionPerformed(WizardDescriptor.java:2227)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openide.util.WeakListenerImpl$ProxyListener.invoke(WeakListenerImpl.java:487)
at com.sun.proxy.$Proxy25.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
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:6539)
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:4535)
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.pumpEventsForFilter(EventDispatchThread.java:109)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.awt.Dialog.show(Dialog.java:1084)
at org.netbeans.core.windows.services.NbPresenter.superShow(NbPresenter.java:1086)
at org.netbeans.core.windows.services.NbPresenter.doShow(NbPresenter.java:1136)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:1108)
at org.netbeans.core.windows.services.NbPresenter.run(NbPresenter.java:131)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:138)
at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:98)
at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:94)
at org.openide.util.Mutex.readAccess(Mutex.java:218)
at org.netbeans.core.windows.services.NbPresenter.show(NbPresenter.java:1093)
at java.awt.Component.show(Component.java:1671)
at java.awt.Component.setVisible(Component.java:1623)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.showDialog(DialogDisplayerImpl.java:266)
at org.netbeans.core.windows.services.DialogDisplayerImpl$1AWTQuery.run(DialogDisplayerImpl.java:192)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
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)

NPE in ImageIcon means a class resource is missing.

ie: the SNDefVisualPanel2.initComponents() is doing something like:
new ImageIcon(getClass().getResource(“someImage”) and “someImage” doesn’t exist.

Someone would have to look in that class to see what “someImage” actually is.

Thank you for your answer,To my surprise, version 3.2.1 doesn’t have this problem:rofl:

That’s the file that’s missing from the distribution for some reason: /com/jme3/gde/core/editor/icons/add.png
…and maybe more later. (shrug)

That is the extent of my knowledge about the SDK… and I haven’t used it myself in like 5+ years.

Thank you,I see the reason for the problem.:+1:

It’s my fault! I re-arranged the icons but I guess I didn’t update all references…
https://github.com/jMonkeyEngine/sdk/commit/619f17a2dab33d9c1ef3f33e6e62ef951457b2ae
→ Here I moved out the icons of the shadernode namespace to be more generic under .editor.icons.

https://github.com/jMonkeyEngine/sdk/commit/04607240dd708ba8f05f6b761102850589b9f82f
→ Here I already fixed your bug, so it’s “just” not yet released. 3.2.5 (or rather 3.3) sdk’s will have that fixed.

3 Likes

ok:+1: