JMonkeyEngine3——修复SDK3.3.x之后的NiftyGui编辑器
概况
SDK集成了NiftyGui可视化工具,但是自从SDK3.1.0之后,一直存在打开奔溃问题,本人基于最新代码进行了修复。
相关步骤
首先打开SDK3.3.x版本(注意这是为3.3.x版本修复的,3.2.x版本使用netbean8之前的版本,与这里不兼容),依次打开Tools->Plugins->Installed,搜索NiftyGui,点击卸载:

然后立即重启,此时查看下以下这几个目录:
YourInstallDir\jmonkeyplatform\jmonkeyplatform\modules\下是否存在com-jme3-gde-gui.jar,有则手动删除;
YourInstallDir\jmonkeyplatform\jmonkeyplatform\modules\ext\下是否存在Nifty-Editor0.5.7.jar(或其他版本),nifty-1.4.x.jar(x表示任意版本,比如nifty-1.4.1.jar,nifty-1.4.2.jar,nifty-1.4.3.jar),nifty-default-controls-1.4.x.jar,nifty-style-black-1.4.x.jar,nifty-java2d-renderer-1.4.x-SNAPSHOT.jar,如果存在则把这些全部删除(记得关闭SDK,否则删除会有问题)。
注意:必须先进行插件卸载再进行删除.jar,不能先删除.jar再进行插件卸载,否在会有问题(得重新安装SDK)。
然后下载如下插件:

链接:https://pan.baidu.com/s/173tiCY_JNs-moRkEdgMRnQ 
提取码:9y2b
然后依次点击Tools->Plugins->Downloaded,添加下载的插件并安装:

然后立即重启SDK。
注意:如果提示无法安装,则打开SDK,选择Help->About,把这个Cache目录删掉:

然后重启sdk重新安装插件即可。
对于3.6.x版本,默认使用JDK17,由于NiftyGui插件使用了反射功能,而JDK17出于某种原因会报错:

此时找到SDK安装目录YourInstallFile\jmonkeyplatform\etc\jmonkeyplatform.conf,在如下default_options=中加入如下VM参数:

注意前后都有空格,或者直接复制我的修改:
1 default_options="--branding jmonkeyplatform -J-Dsun.java2d.noddraw=true -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED -J--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.shell=ALL-UNNAMED -J--add-opens=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.java.swing.plaf.motif=ALL-UNNAMED -J--add-exports=java.desktop/com.apple.eio=ALL-UNNAMED"
测试SDKNiftyGui编辑器
启动SDK后,创建一个JME3工程,然后展开Project Assets,在你想要的目录(通常GUI文件放在Interface)右键New->Other..->GUI->Empty Gui:

然后在xml界面随便打个属性,会出现代码提示:

然后切换到Visual(设计器)界面,可以看到可视化编辑器:

导航栏只有在鼠标焦点选中HelloNiftyGui.xml文件或打开HelloNiftyGui.xml并焦距在编辑页面时,才可以看到Gui View导航栏实际内容:

切换后:

然后从Palette哪里随便拖个控件到设计器中:

可以看到一切正常工作。
后续
关于SDK Gui编辑器更详细的用法和相关bug,在后面的文章会详细介绍。
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号