gpt4 book ai didi

java - SWTerror : Not implemented [multiple displays] in Eclipse plug-in devlopment 错误

转载 作者:行者123 更新时间:2023-11-29 04:38:26 27 4
gpt4 key购买 nike

我有我正在使用的插件项目

Display display = new Display(); // twice 

此插件在 Windows 上运行良好。

但是当我在 Linux 上运行插件时它抛出一个错误:

org.eclipse.swt.SWTError: Not implemented [multiple displays]
Root exception:
org.eclipse.swt.SWTError: Not implemented [multiple displays]
at org.eclipse.swt.SWT.error(SWT.java:4423)
at org.eclipse.swt.widgets.Display.checkDisplay(Display.java:767)
at org.eclipse.swt.widgets.Display.create(Display.java:908)
at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
at org.eclipse.swt.widgets.Display.<init>(Display.java:507)
at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
at com.test$OpenPage.run(test.java:267)
at org.eclipse.mylyn.tasks.ui.wizards.AbstractRepositorySettingsPage$29.run(AbstractRepositorySettingsPage.java:1964)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)

我已经在 Windows 7/8.1/10(工作正常)和 Ubuntu(不工作)上测试了它

最佳答案

在某些平台上,SWT 不支持创建多个显示。

但是,插件代码根本不应创建Display。在 Workbench 启动期间,会为您创建一个显示,您可以通过以下任一方式访问该显示

PlatformUI.getWorkbench().getDisplay()

或通过从现有小部件获取显示,例如:

void createControls(Composite parent) {
Display display = parent.getDisplay();
...
}

关于java - SWTerror : Not implemented [multiple displays] in Eclipse plug-in devlopment 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40259589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com