当前位置: 首页 > 知识库问答 >
问题:

javaFX sceneBuilder与IntelliJ

施季
2023-03-14

JavaFX Scene Builder没有正确地集成到IntelliJ IDE中。我让它在我的Windows7电脑上工作,但在我的mac电脑上,它给我带来了问题。首先,当我指定JavaFX场景构建器到/applications/scenbuilder/的路径时,它不会在IDE中显示场景。其次,当scene builder独立启动并修改intelliJ项目中的.xml文件时,生成的所有.xml在intelliJ中都是红色错误,并显示“无法解析符号”错误文本。

在Mac上的IntelliJ中实现场景构建器,我是否缺少一个步骤。我不知道为什么这不起作用。我已经正确地遵循了设置。还有人有这个问题吗?intelliJ中显示的错误为“java.lang.Reflect.InvocationTargetException”

Java.lang.reflect.InvocationTargetException
 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:497)
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderCreatorImpl.create(SceneBuilderCreatorImpl.java:35)
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderEditor.addSceneBuilder(SceneBuilderEditor.java:204)
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderEditor.updateState(SceneBuilderEditor.java:191)
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderEditor.initSceneBuilder(SceneBuilderEditor.java:174)
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderEditor.selectNotify(SceneBuilderEditor.java:252)
 at com.intellij.openapi.fileEditor.impl.EditorComposite$1$1.run(EditorComposite.java:148)
 at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:124)
 at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
 at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85)
 at com.intellij.openapi.fileEditor.impl.EditorComposite$1.selectionChanged(EditorComposite.java:154)
 at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:497)
 at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:116)
 at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:368)
 at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:355)
 at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:341)
 at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:334)
 at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:42)
 at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:223)
 at com.sun.proxy.$Proxy81.selectionChanged(Unknown Source)
 at com.intellij.openapi.fileEditor.impl.EditorComposite$3.run(EditorComposite.java:229)
 at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$15$1.run(FileEditorManagerImpl.java:1055)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:672)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.d(FocusManagerImpl.java:656)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.f(FocusManagerImpl.java:626)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.access$200(FocusManagerImpl.java:60)
 at com.intellij.openapi.wm.impl.FocusManagerImpl$11.run(FocusManagerImpl.java:522)
 at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2361)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:500)
 at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:495)
 at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:64)
 at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$15.run(FileEditorManagerImpl.java:1052)
 at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:123)
 at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1048)
 at com.intellij.openapi.fileEditor.impl.EditorComposite.a(EditorComposite.java:224)
 at com.intellij.openapi.fileEditor.impl.EditorComposite.access$600(EditorComposite.java:67)
 at com.intellij.openapi.fileEditor.impl.EditorComposite$MyChangeListener.stateChanged(EditorComposite.java:410)
 at com.intellij.ui.JBTabsPaneImpl.a(JBTabsPaneImpl.java:81)
 at com.intellij.ui.JBTabsPaneImpl.access$100(JBTabsPaneImpl.java:36)
 at com.intellij.ui.JBTabsPaneImpl$2.selectionChanged(JBTabsPaneImpl.java:67)
 at com.intellij.ui.tabs.impl.JBTabsImpl.fireSelectionChanged(JBTabsImpl.java:965)
 at com.intellij.ui.tabs.impl.JBTabsImpl.executeSelectionChange(JBTabsImpl.java:918)
 at com.intellij.ui.tabs.impl.JBTabsImpl._setSelected(JBTabsImpl.java:882)
 at com.intellij.ui.tabs.impl.JBTabsImpl.select(JBTabsImpl.java:864)
 at com.intellij.ui.tabs.impl.TabLabel$1.mousePressed(TabLabel.java:89)
 at java.awt.Component.processMouseEvent(Component.java:6532)
 at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
 at java.awt.Component.processEvent(Component.java:6300)
 at java.awt.Container.processEvent(Container.java:2236)
 at java.awt.Component.dispatchEventImpl(Component.java:4891)
 at java.awt.Container.dispatchEventImpl(Container.java:2294)
 at java.awt.Component.dispatchEvent(Component.java:4713)
 at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
 at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4522)
 at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
 at java.awt.Container.dispatchEventImpl(Container.java:2280)
 at java.awt.Window.dispatchEventImpl(Window.java:2750)
 at java.awt.Component.dispatchEvent(Component.java:4713)
 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:76)
 at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
 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:76)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
 at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:866)
 at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:650)
 at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381)
 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.NoClassDefFoundError: javafx/fxml/FXMLLoader
 at org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderKitWrapper.create(SceneBuilderKitWrapper.java:19)
 ... 84 more

共有1个答案

罗光华
2023-03-14

我也遇到过同样的问题(现在还是这样,因为我还没有时间尝试修复它),但这是支持人员给我的回答:

请参阅https://youtrack.jetbrains.com/issue/idea-145806。当运行在捆绑的Java上时,它将无法工作,因为我们的捆绑不包括JavaFX类,它将在未来的更新中被修复。您可以尝试在stock Oracle JDK下运行作为一种变通方法,请参阅https://intellij-support.jetbrains.com/hc/articles/206544879了解详细信息。

 类似资料:
  • 在C语言中,假设每个算法被赋予完全相同的一组进程,那么先到先得、最短作业优先和循环之间的周转时间是否相等?还是调度算法不同?

  • 问题内容: 为了为 HTML5 Doctype 定义字符集,我应该使用哪种表示法? 短: 长: 问题答案: 在HTML5中,它们是等效的。使用较短的一个,更容易记住和键入。浏览器支持很好,因为它是为向后兼容而设计的。

  • 连接的多个输入都相当于Yes的时候才会输出Yes。 用法 Your browser does not support the video tag. 案例:小闹钟 功能:今天15:10:00,响起猫叫声小闹钟 工作原理 当所有的输入都是Yes的时候,与节点才输出Yes。

  • 问题内容: 似乎有三种 相同的 方法可以独立于平台获取依赖于平台的“文件分隔符”: 我们如何决定何时使用哪个? 它们之间甚至有什么区别吗? 问题答案: 可以通过调用命令行参数或使用命令行参数覆盖 获取默认文件系统的分隔符。 获取默认文件系统。 获取文件系统的分隔符。请注意,作为一种实例方法,在需要代码在一个JVM中对多个文件系统进行操作的情况下,可以使用该方法将不同的文件系统传递给代码(而不是默认

  • 问题内容: 我今天刚刚与一些同事讨论了python的db-api fetchone vs fetchmany vs fetchall。 我确定每个应用程序的用例都取决于我正在使用的db-api的实现,但是总的来说,fetchone,fetchmany,fetchall的用例是什么? 换句话说,以下等效项是什么?还是其中之一比其他人更受青睐?如果是这样,在哪些情况下? 问题答案: 我认为这确实取决于