java - Eclipse 首选项页面

标签 java

我正在努力向我的 Eclipse 应用程序 (Juno) 添加首选项页面。我想创建类似于您在以下 Eclipse 首选项页面上看到的内容:Eclipse (Juno) > 窗口菜单 > 首选项 > Java > 编译器 > 构建。该首选项页面似乎是使用 org.eclipse.swt.widgets.Tree 创建的,但我不确定。如果是这样,他们是如何创建 TreeItems 的?它们是 org.eclipse.swt.widgets.TreeItems 吗?我需要添加 StringFieldEditors 和 IntegerFieldEditors,或某种类型的字段(TextArea??),并在它们前面添加一些标签,以便稍后进行验证。据我了解,不可能将 Composite 添加到 TreeItem,那么我应该如何解决这个问题?任何建议都将不胜感激。谢谢。

需要补充一点,由于我无法使用 Eclipse 内部包,是否有其他方法可以使用公共(public) API 来实现我上面描述的内容?

这是一个想法,但是这段代码将 TreeItems 内容放置在树下。想法?

    Composite comp = getFieldEditorParent();

    Tree tree = new Tree(comp, SWT.NONE);
    tree.setLayout(new FillLayout());
    tree.setHeaderVisible(true);

    TreeItem item1 = new TreeItem(tree, SWT.NONE);
    item1.setText("Name1");

    TreeItem item11 = new TreeItem(item1, SWT.NONE);
    item11.setText("Name11");
    StringFieldEditor s11 = new StringFieldEditor(
        "name11",
        "label11:",
        comp);
    item11.setData(s11);

    TreeItem item12 = new TreeItem(item1, SWT.NONE);
    item12.setText("Name12");
    StringFieldEditor s12 = new StringFieldEditor(
        "name12",
        "label12:",
        comp);
    item12.setData(s12);


    item1.setExpanded(true);
    item11.setExpanded(true);
    item12.setExpanded(true);


    TreeItem item2 = new TreeItem(tree, SWT.NONE);
    item2.setText("Name2");

最佳答案

如果您对 Eclipse 中任何 UI 元素的实现感兴趣,请安装 Eclipse SDK(通过帮助 > 安装新软件...)并使用 plug-in spy 。 spy 会告诉您哪个类实现了 UI 元素(在您的情况下,它是 org.eclipse.jdt.internal.ui.preferences.JavaBuildPreferencePage 包中的 org.eclipse.jdt.ui)。由于 SDK 包含源代码,因此您可以从 spy 弹出窗口直接跳到那里,亲自查看它是如何完成的。

关于java - Eclipse 首选项页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15027839/

相关文章:

java - 使用 android-ndk-r10e 编译 jni 代码时出错

java - 将 JSON(或对象)添加到 STRING json 数组

java - 如何声明和初始化包含 HashSet 的 HashMap

java - jpa复合主键表不返回值

c# - 静态字段究竟是如何在内部工作的?

java - 在 Tomcat 网络应用程序中提供静态内容

java - 在 Android 代码中访问网站并检索生成的图像

java - 在 Java 中使用泛型时出现空指针异常

java - SQuirreL配置: could not initial class org. apache.phoenix.jdbc.PhoenixDriver

Java HttpURLConnection 无法连接到 ASP.NET API,连接被拒绝