Java 元素图标 SWT ECLIPSE

标签 java eclipse swt

如何在 SWT 的 Tree 控件中添加 java 元素图标(例如类、方法、包等,如包资源管理器中的图标)?

例如,我有以下树结构: 一些包

--> somePackage
       |
       |--> someClass
                |
                |--> someMethod

这里-->代表折叠图标。我想保持这一点完整,但另外我想为相应的 java 元素提供适当的图标(因为它在包资源管理器中可见)。我正在使用 SWT Tree 来构建 TreeView 。以下是构造它的代码:

final Tree tree = new Tree (composite, SWT.BORDER);
    for (int i=0; i<4; i++) {
                    // Package
        TreeItem iItem = new TreeItem (tree, 0);
        iItem.setText ("TreeItem (0) -" + i);
        for (int j=0; j<4; j++) {
                            // Class
            TreeItem jItem = new TreeItem (iItem, 0);
            jItem.setText ("TreeItem (1) -" + j);
            for (int k=0; k<4; k++) {
                                    // Method or Fields
                TreeItem kItem = new TreeItem (jItem, 0);
                kItem.setText ("TreeItem (2) -" + k);
            }
        }
    }
    tree.setBounds(25, 50, 580, 200);

最佳答案

您可以将依赖项 org.eclipse.jdt.ui 添加到您的项目中,以访问 JDT 项目的共享镜像。以下代码适用于 Eclipse 3.x。对于普通的 SWT 应用程序(无 Eclipse 插件),您需要添加一堆 Eclipse 插件(包括 org.eclipse.jdt.ui)才能在项目中获得此功能。

import org.eclipse.jdt.ui.ISharedImages;
import org.eclipse.jdt.ui.JavaUI;
...

ISharedImages images = (ISharedImages) JavaUI.getSharedImages();
Image image = images.getImage(ISharedImages.IMG_OBJS_CLASS); // class file icon

enter image description here

编辑:
如果您不想仅包含所有库,因为您想使用一些 Eclipse 镜像:I found a list of all eclipse shared images in the web 。 (基于eclipse 3.4)

来源:
interface org.eclipse.jdt.ui.ISharedImages

关于Java 元素图标 SWT ECLIPSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921149/

相关文章:

java - 如何实现左侧显示一屏,右侧显示新窗口(同屏多 View )

java - Juul 是我应用程序的唯一入口点是劣势吗?

java - 启动画面后应用程序崩溃

java - 线程 "main"org.eclipse.swt.SWTError : XPCOM error 0x80004005 in swt. mozilla 中出现异常

java - Eclipse插件: make Combo to handle Enter key

java - .java 报告生成、方法调用者和被调用者

java - 在 CDI 启动时执行代码

java - 是否可以在 Linux 中使用命令行构建 Eclipse 工作区?

java - Android 和 Eclipse 错误

swt - 表在末尾显示额外的空白列