1

我正在尝试从 Eclipse 安装 Nebula-Software。看来,我错过了一个可能很少,但很相关的一点。
我的主要目标是测试和使用“Nebula Oscilloscope Widget”。
所以我照我说的做了:
https
://www.eclipse.org/nebula/downloads.php并使用:
Release - Release 1.4.0 还有:
下载 - 更新站点:http: //download.eclipse.org /nebula/releases/1.4.0
我设法将它放入 eclipse install 并在 .p2 中获得了一些目录和文件,例如

  • \org.eclipse.equinox.p2.core\
  • \pool\features\org.eclipse.nebula.widgets.oscilloscope.feature_1.4.0.201711021145\


META-INF 目录中有
一个文件 epl-v10.html
feature.properties
feature.xml
license.html

我看不到,它有什么帮助。不幸的是,Eclipse 也没有看到它。
Java 导入语句,例如
import org.eclipse.nebula.widgets.oscilloscope.multichannel.OscilloscopeDispatcher;
导入 org.eclipse.swt.SWT;
仍然没有解决。

下一次尝试:页面上有一个 zip 文件,标题为
“Update site repo zipped:repository.zip”
http://download.eclipse.org/nebula/releases/1.4.0/repository-nebula-1.4.0.zip
加载它,很多 jar 文件都在里面——但是放在哪里呢?

下次试试,当然有git链接了:
https://github.com/eclipse/nebula
在哪里可以获得“nebula-master.zip”

我将其导入为“来自存档”。结果我终于得到了一个
包含几个子文件夹的项目“org.eclipse.swt.nebula”。我的最爱,oszilloscope 在
Project "org.eclipse.swt.nebula"
...文件夹小部件,
...文件夹 oszilloskope,
...文件夹 org.eclipse.nebula.widgets.oscilloscope.snippets
...文件夹 src
中。 ..文件夹组织
...文件夹日食
...文件夹星云
...文件夹小部件
...文件夹示波器
...文件夹片段。
我不认为,这种结构是有意的。尝试运行演示时,我收到诸如
“启动配置 GridAllTests 引用不存在的项目 org.eclipse.nebula.widgets.grid.test”之类的错误。什么是对的。

“org.eclipse.nebula.widgets.grid.test”是 org.eclipse.swt.nebula 项目的
文件夹网格、
文件夹 widgtes 的一部分


出现了严重错误,可能是在导入时。如何正确处理?

谢谢 !

4

1 回答 1

2

如果您想在普通 Java应用程序(而不是 OSGi 应用程序)中使用 Nebula Oscilloscope 小部件,您必须将以下 JAR 添加到您的 Java 构建路径(项目 > 属性:Java 构建路径)中,该路径可以在pluginssupdirectory中找到安装后的 Eclipse 安装目录(使用Add External JARs...按钮):

  • org.eclipse.swt_<version>.jar(例如org.eclipse.swt_3.106.1.v20170926-0519.jar
  • org.eclipse.swt.<platform>_<version>.jar(例如org.eclipse.swt.win32.win32.x86_64_3.106.1.v20170926-0519.jar
  • org.eclipse.equinox.common_<version>.jar(例如org.eclipse.equinox.common_3.9.0.v20170207-1454.jar
  • org.eclipse.nebula.widgets.oscilloscope_<version>.jar(例如org.eclipse.nebula.widgets.oscilloscope_1.4.0.201711021145.jar

OscilloscopeExampleTab.java还需要适应在普通 Java 项目中使用它:

  • 消除extends AbstractExampleTab
  • 删除@Override所有
  • 将行更改final String path = FileLocator.getBundleFile(Platform.getBundle(BUNDLE)).getPath();final String path = "wavs";(如果使用声音,您必须创建一个wavs包含*.wav示例文件的文件夹)
  • 将行更改} catch (IOException e) {} catch (Throwable e) {
  • Source > Organize Imports以删除无法解决的不需要的导入

通过这些修改,您可以通过以下主要方法运行示例:

public static void main (String [] args) {
    Display display = new Display ();
    Shell shell = new Shell (display);
    shell.setSize(600, 800);

    RowLayout layout = new RowLayout(SWT.HORIZONTAL);
    layout.wrap = true;
    layout.fill = true;
    layout.justify = false;
    shell.setLayout(layout);

    Composite mainArea = new Composite(shell, SWT.None);
    mainArea.setLayout(new RowLayout());

    Composite settings = new Composite(shell, SWT.None);
    settings.setLayout(new RowLayout(SWT.HORIZONTAL));

    OscilloscopeExampleTab osci = new OscilloscopeExampleTab();
    osci.createParameters(settings);
    osci.createControl(mainArea);

    shell.open ();
    while (!shell.isDisposed ()) {
        if (!display.readAndDispatch ()) display.sleep ();
    }
    display.dispose ();
}

生成的星云示波器小部件示例为普通 Java 应用程序:

在此处输入图像描述

于 2017-11-19T16:06:40.707 回答