Editor: jMonkeyBuilder

There is a javaFX plugin for eclipse / idea. It just opens a Scene Builder in new window / tab or navigates to open one.
Can this way be as the first step of integration?

I donā€™t think so, I think it isnā€™t a good idea to run jMB inside swing frame of intellij IDEA.

1 Like

Started working on IntelliJ Plugin :slight_smile:

7 Likes

You got this somewhere I can contribute? I wanted to make something similar some time ago but didnā€™t really make anything.

I will push my code to there:

when I implement jME project creating :slight_smile: and will continue to work on other features.

1 Like

You made a great thing!

1 Like

I have pushed my current code of this.

1 Like

Hello,

I compiled the plugin and I added it in Idea. Once the plugin is active, a problem appears. The idea app no ā€‹ā€‹longer allows you to create a project

Have you seen any errors in IDEA log?

By the way, how did you build the plugin?

Here is the error, but when I look in the plugin jar file, I do not see the tree ā€œcom.ss.jme.plugin.project.wizardā€.

I do not have to correctly compile the plugin:

java.lang.ClassNotFoundException: com.ss.jme.plugin.project.wizard.JmeModuleBuilder PluginClassLoader[com.ss.jme.plugin, 1.0] com.intellij.ide.plugins.cl.PluginClassLoader@46b3170c
java.lang.RuntimeException: java.lang.ClassNotFoundException: com.ss.jme.plugin.project.wizard.JmeModuleBuilder PluginClassLoader[com.ss.jme.plugin, 1.0] com.intellij.ide.plugins.cl.PluginClassLoader@46b3170c
	at com.intellij.ide.util.projectWizard.ModuleBuilderFactory.createBuilder(ModuleBuilderFactory.java:35)
	at com.intellij.ide.util.projectWizard.ModuleBuilder.getAllBuilders(ModuleBuilder.java:74)
	at com.intellij.ide.projectWizard.ProjectTypeStep.fillTemplatesMap(ProjectTypeStep.java:279)
	at com.intellij.ide.projectWizard.ProjectTypeStep.<init>(ProjectTypeStep.java:117)
	at com.intellij.ide.projectWizard.NewProjectWizard.init(NewProjectWizard.java:50)
	at com.intellij.ide.projectWizard.NewProjectWizard.<init>(NewProjectWizard.java:39)
	at com.intellij.ide.actions.NewProjectAction.actionPerformed(NewProjectAction.java:35)
	at com.intellij.ui.components.labels.ActionLink$1.linkSelected(ActionLink.java:67)
	at com.intellij.ui.components.labels.LinkLabel.doClick(LinkLabel.java:156)
	at com.intellij.ui.components.labels.ActionLink.doClick(ActionLink.java:80)
	at com.intellij.ui.components.labels.LinkLabel$MyMouseHandler.mouseReleased(LinkLabel.java:352)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:822)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:646)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:366)
	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)
Caused by: java.lang.ClassNotFoundException: com.ss.jme.plugin.project.wizard.JmeModuleBuilder PluginClassLoader[com.ss.jme.plugin, 1.0] com.intellij.ide.plugins.cl.PluginClassLoader@46b3170c
	at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:63)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at com.intellij.openapi.extensions.AbstractExtensionPointBean.findClass(AbstractExtensionPointBean.java:42)
	at com.intellij.openapi.extensions.AbstractExtensionPointBean.instantiate(AbstractExtensionPointBean.java:63)
	at com.intellij.ide.util.projectWizard.ModuleBuilderFactory.createBuilder(ModuleBuilderFactory.java:32)
	... 44 more

Could you try to use this version?
https://yadi.sk/d/Yfl6QVse3R7x2A

It works with this version, I can not compile the plugin correctly
Thank you

1 Like

I see a problem in JMB, I will try to explain because I do not see an error message.

When I manipulate the scene and often when I change the name of a node, sometimes the scene never registers again. Any addition in the scene or modification is no longer recorded.

If you close the scene file and then open it, any changes are not saved.

No error message appears in the console.

This often happens when the name of an object is changed.

Could you make a short video about this, please? :slight_smile:

Hello,

I have just done some tests and I find that the problem occurs when the ā€œuser classes folderā€ and ā€œuser libraries folderā€ are specified.

When I only specify the ā€œuser classes folderā€ to be able to use my controllers, everything works correctly.

I do not quite understand what I must specify in the ā€œuser libraries foldersā€, idem for the ā€œenvironment folderā€.

When I specify only the user classes folders. it works properly.

Iā€™m going to make a video to try to explain

Thoced

1 Like

itā€™s a folder with sky textures which you can use as ā€œfast skyā€ in the model editor :slight_smile:

1 Like

Added a setting to set a path to jMB :slight_smile:

1 Like

EDIT: If you think itā€™s better to move this to another post, Iā€™ll gladly do so :wink:

Hey guys, Iā€™m getting an error trying to launch the editor through java, using the .7z release. Iā€™m not sure this is the intended way, but Iā€™m trying this:

java -jar jmonkeybuilder.jar

And it says it canā€™t find something related to JavaFXā€¦?

Error: Could not find or load main class com.ss.editor.JFXApplication

I tried with both OpenJDK 8 and 9.

I also tried using the .deb version and running it. It opens fine, but when I try to ā€œOpen Asset Folderā€, a blank window appears and then it immediately crashes with the follow log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f3870907120, pid=6478, tid=0x00007f37ff6aa700
#
# JRE version: Java(TM) SE Runtime Environment (8.0_151-b12) (build 1.8.0_151-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.151-b12 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libpthread.so.0+0xa120]  pthread_mutex_lock+0x0
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/ricardo/Downloads/jmonkeybuilder-1.4.0/opt/jMonkeyBuilder/app/hs_err_pid6478.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)

I assumed this was indeed a native code crash, and that the lib might have been somehow corrupted. Hereā€™s what I did to try and fix this:

  • Update my Ubuntu 16.04 to 17.10
  • Reinstall the package (libc6-dev) that contains the two problematic libs (libpthread.so and libdl.so.2, wasnā€™t able to reproduce but crashed on this lib in some rare instances)

Does anyone know how to fix this? I honestly ran out of ideasā€¦

About the native crush, You need to disable using native file choosers in editorā€™s settings before opening an asset folder :wink:
About the problem with open jdk, open jdk doesnā€™t include javaFX, you need to install openjfx package :slight_smile: