Java Windows 8.1 x64 上 Eclipse windowbuilder pugin 的设计视图提示“Unknown GUI toolkit”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/24524941/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 12:45:08  来源:igfitidea点击:

Design view of Eclipse windowbuilder pugin on Windows 8.1 x64 prompts "Unknown GUI toolkit"

javaeclipsewindows-8.1windowbuilder

提问by Musa Haidari

I was using Eclipse Kepler Release 1 x64, wiht Java 7 x64 on Windows 4 pro x64 and I had no problems with Eclipse WindowBuilder plugin. But since I upgraded to Windows 8.1 pro x64, WindowBuilder has stopped working.

我在 Windows 4 pro x64 上使用 Eclipse Kepler Release 1 x64,使用 Java 7 x64,并且我在使用 Eclipse WindowBuilder 插件时没有问题。但是自从我升级到 Windows 8.1 pro x64 后,WindowBuilder 就停止工作了。

First the follwoing button is freezed and does not respond to user clicks. enter image description here

首先,以下按钮被冻结并且不响应用户点击。 enter image description here

And if in project explorer I go to some java file that I have already created with WindowBuilder plugin in windows 7 x64, right click on it and choose: Open with > WindowBuilder Editor, source code opens fine, but when I switch to Designview, I get Unknown GUI toolkit. enter image description here

如果在项目资源管理器中我转到一些我已经在 windows 7 x64 中使用 WindowBuilder 插件创建的 java 文件,右键单击它并选择:Open with > WindowBuilder Editor,源代码打开正常,但是当我切换到Design视图时,我明白了Unknown GUI toolkitenter image description here

Stacktrace:

堆栈跟踪:

org.eclipse.wb.internal.core.utils.exception.DesignerException: 103 (Unknown GUI toolkit). guis.UsersAll
at org.eclipse.wb.internal.core.parser.JavaInfoParser.prepareParseContext(JavaInfoParser.java:1195)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:242)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.access(JavaInfoParser.java:238)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.runObject(JavaInfoParser.java:153)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.runObject(JavaInfoParser.java:1)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:159)
at org.eclipse.wb.internal.core.parser.JavaInfoParser.parse(JavaInfoParser.java:151)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:534)
at org.eclipse.wb.internal.core.editor.DesignPage.access(DesignPage.java:522)
at org.eclipse.wb.internal.core.editor.DesignPage.run(DesignPage.java:449)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:180)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4688)
at org.eclipse.wb.internal.core.editor.DesignPage.run(DesignPage.java:446)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF_withProgress(DesignPage.java:465)
at org.eclipse.wb.internal.core.editor.DesignPage.internal_refreshGEF(DesignPage.java:415)
at org.eclipse.wb.internal.core.editor.UndoManager.refreshDesignerEditor(UndoManager.java:381)
at org.eclipse.wb.internal.core.editor.UndoManager.activate(UndoManager.java:90)
at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState_True(DesignPage.java:263)
at org.eclipse.wb.internal.core.editor.DesignPage.handleActiveState(DesignPage.java:241)
at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode.showPage(DefaultMultiMode.java:125)
at org.eclipse.wb.internal.core.editor.multi.DefaultMultiMode.widgetSelected(DefaultMultiMode.java:63)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:778)
at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3080)
at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1772)
at org.eclipse.swt.custom.CTabFolder.handleEvent(CTabFolder.java:279)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4170)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.ui.internal.Workbench.run(Workbench.java:610)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

So can anyone tell me how to get WindowBuilder work on Eclipse on Windows 8.1 pro x64?

那么谁能告诉我如何让 WindowBuilder 在 Windows 8.1 pro x64 上的 Eclipse 上工作?

采纳答案by MilkyWay

You don't need to reinstall the whole WindowBuilder. Your toolkit was probably SWT, and SWT designer might not come included in your eclipse download. All you need to do is to add SWT designer features to your WindowBuilder from "Install New Software" menu, selecting default Luna installation site, searching for "SWT Designer".

您不需要重新安装整个 WindowBuilder。您的工具包可能是 SWT,而 SWT 设计器可能不包含在您的 Eclipse 下载中。您需要做的就是从“安装新软件”菜单将 SWT 设计器功能添加到您的 WindowBuilder,选择默认 Luna 安装站点,搜索“SWT 设计器”。

回答by Musa Haidari

I fixed the problem by:

我通过以下方式解决了问题:

  1. Unistalling the window builder
  2. Downloading the zip package of the new version of the window builder from here.
  3. Then I extracted that and put its extracted directory inside dropins folder of eclipse.
  4. Then restarted eclipse.
  1. 卸载窗口生成器
  2. 这里下载新版窗口生成器的 zip 包。
  3. 然后我提取了它并将其提取的目录放在eclipse的dropins文件夹中。
  4. 然后重新启动eclipse。

And WindowBuilder worked fine.

WindowBuilder 运行良好。

回答by Nyako

What worked for me was getting the jfxswt.jar file and adding it into my library for that project.

对我有用的是获取 jfxswt.jar 文件并将其添加到我的项目库中。

C Drive > Program Files > Java Folder > jdk 1.8 . . .(Version may vary) > jre > lib

C 盘 > 程序文件 > Java 文件夹 > jdk 1.8 。. .(版本可能会有所不同)> jre > lib