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

标签 java ubuntu eclipse-plugin

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

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/

相关文章:

eclipse-plugin - 为 eclipse kepler 安装 m2e-wtp 插件时出错

java - Maven Tycho 插件和 Eclipse Babel

java - Spring Boot MVC/Rest Controller 和枚举反序列化转换器

ubuntu - 在登录 Kubuntu 16.04 之前无法启动 x11vnc

java - 使用 Drupal + 内容构建工具包创建灵活的 Web 表单 - 适用于 Java

python - 以用户 postgres 身份运行命令行导致找不到模块

java - 在 VSCODE 的 Ubuntu 中为 JDK 11 设置 JAVA_HOME

java - 如何制作 Eclipse 插件

java - 使用try/catch时如何避免无限循环?

java - 当使用.jsp的view spring mvc,并传递ModelAndView时,如何输出模型?