Closed catinhat44 closed 1 year ago
java.lang.ClassNotFoundException: javafx.embed.swt.FXCanvas cannot be found
.
Seems you have some problem with JavaFx. The following blog posts gives you some hints about it:
https://blogs.itemis.com/after-eight-eclipse-anwendungen-mit-efxclipse-javafx-openjdk-mit-java-11-erfolgreich-aufsetzen
wow that was very fast! thank you a lot. after struggling with settings for a while, i finally could launch a plugin thanks to the post that you had sent me.
However, now I encounter another problem. When i try to create a node in the Simple Mind Map Editor, i get this:
java.lang.NullPointerException: Cannot invoke "org.eclipse.gef.mvc.fx.parts.IContentPart.getRoot()" because "part" is null
at org.eclipse.gef.mvc.fx.policies.CreationPolicy.createFocusOperation(CreationPolicy.java:217)
at org.eclipse.gef.mvc.fx.policies.CreationPolicy.create(CreationPolicy.java:152)
at org.eclipse.gef.mvc.fx.policies.CreationPolicy.create(CreationPolicy.java:201)
at com.itemis.gef.tutorial.mindmap.policies.CreateNewNodeOnClickHandler.click(CreateNewNodeOnClickHandler.java:85)
at org.eclipse.gef.mvc.fx.gestures.ClickDragGesture.press(ClickDragGesture.java:351)
at org.eclipse.gef.mvc.fx.gestures.ClickDragGesture$1.handle(ClickDragGesture.java:100)
at org.eclipse.gef.mvc.fx.gestures.ClickDragGesture$1.handle(ClickDragGesture.java:1)
at javafx.base@19/com.sun.javafx.event.CompositeEventHandler$NormalEventFilterRecord.handleCapturingEvent(CompositeEventHandler.java:321)
at javafx.base@19/com.sun.javafx.event.CompositeEventHandler.dispatchCapturingEvent(CompositeEventHandler.java:98)
at javafx.base@19/com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:221)
at javafx.base@19/com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:180)
at javafx.base@19/com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
at javafx.base@19/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
at org.eclipse.gef.fx.swt.canvas.FXCanvasEx$EventDispatcherEx.dispatchEvent(FXCanvasEx.java:155)
at javafx.base@19/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@19/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@19/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@19/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@19/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base@19/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@19/javafx.scene.Scene$MouseHandler.process(Scene.java:3894)
at javafx.graphics@19/javafx.scene.Scene.processMouseEvent(Scene.java:1887)
at javafx.graphics@19/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2620)
at javafx.graphics@19/com.sun.javafx.tk.quantum.EmbeddedScene.lambda$mouseEvent$4(EmbeddedScene.java:289)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at javafx.graphics@19/com.sun.javafx.tk.quantum.EmbeddedScene.lambda$mouseEvent$5(EmbeddedScene.java:282)
at javafx.graphics@19/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at javafx.graphics@19/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3643)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
When running SimpleMindMapApplication
, everything works fine (however to make it work, i had to change getVisual().getParent().layout();
to getVisual().layout();
in MindMapNodePart
, because the program kept throwing NullPointerException
; parent was null
). Nevertheless, final version of plugin works neither with getVisual().getParent().layout()
nor withgetVisual().layout()
.
Do you a have a clue on what could be wrong here? And once again, thanks a lot for your help! :)
It could be the same issue as reported in https://github.com/itemis/gef-mindmap-tutorial/issues/3
yes, it works for getVisual().getParent().layout()
but for Cannot invoke "org.eclipse.gef.mvc.fx.parts.IContentPart.getRoot()" because "part" is null
i found that error occurs inside the CreationPolicy
class becauseIContentPart<? extends Node> contentPart = viewer.getContentPartMap().get(content);
returns null
but i just can't get why it is happening and how it could be fixed :(
Hi :) I was following your tutorial and everything worked (almost) without problems until i reached step 14. I kept getting an "was unable to instantiate class" error, thus i downloaded your source code from the GitHub to ensure that it waws not a problem from my side. However, an error keeps appearing when i try to open a test.smm file.
I use:
Error trace:
I am very new to gef and eclipse plug-ins development, so maybe i oversaw some obvious issue, but I assume that there can be some problems with versions (as always). I know that it has been a while since the tutorial was published but hope that someone could still help me to solve it :)