一个用swt做的简单的文件浏览器,
package hello;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.*;
import java.io.*;
import java.util.LinkedList;
import java.util.List;
public class TreeShellExample {
Display d;
Shell s;
public TreeShellExample() {
d = new Display();
s = new Shell(d);
s.setSize(250, 200);
s.setImage(new Image(d, "c:/cart.png"));
s.setText("A Tree Shell Example");
s.setLayout(new FillLayout());
final Tree t = new Tree(s, SWT.SINGLE | SWT.BORDER);
File[] roots = File.listRoots();
for(int i = 0; i < roots.length; i++) {
TreeItem root = new TreeItem(t, SWT.NONE, i);
String name = roots[i].getAbsolutePath();
if(name.endsWith("\\")) {
name = name.substring(0, name.length() - 1);
}
root.setText(name);
root.setImage(new Image(d, "c:/image/folder.gif"));
TreeItem child = new TreeItem(root, SWT.NONE, 0);
}
t.addTreeListener(new TreeListener() {
public void treeExpanded(TreeEvent e) {
TreeItem ti = (TreeItem)e.item;
ti.setImage(new Image(d, "c:\\image\\open.gif"));
TreeItem item = ti;
List<String> list = new LinkedList<String>();
while(item != null) {
list.add(0, item.getText());
item = item.getParentItem();
}
String path = privateConvertToString(list);
File[] children = new File(path).listFiles();
ti.removeAll();
if(children != null) {
for(int i = 0; i < children.length; i++) {
TreeItem child = new TreeItem(ti, SWT.NONE, i);
child.setText(children[i].getName());
if(children[i].isDirectory()) {
child.setImage(new Image(d, "c:/image/folder.gif"));
new TreeItem(child, SWT.NONE, 0);
} else if(children[i].isFile()) {
child.setImage(new Image(d, "c:/image/file.gif"));
}
}
}
}
public void treeCollapsed(TreeEvent e) {
TreeItem ti = (TreeItem)e.item;
ti.setImage(new Image(d, "c:\\image\\folder.gif"));
}
});
s.open( );
while(!s.isDisposed( )){
if(!d.readAndDispatch( ))
d.sleep( );
}
d.dispose( );
}
private String privateConvertToString(List<String> list) {
StringBuffer buffer = new StringBuffer();
if(list.size() == 1) {
return buffer.append(list.get(0) + "/").toString();
} else {
for(int i = 0; i < list.size(); i++) {
buffer.append(list.get(i));
if(i != list.size() - 1) {
buffer.append("/");
}
}
return buffer.toString();
}
}
public static void main(String[] args) {
new TreeShellExample();
}
}
- 大小: 13.3 KB
分享到:
相关推荐
8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug 9. 修正其他部分已发现Bug 10. 版本号升级为0.5 尚未实现的功能: 1. 与外界程序的交互 2. 拖拽 3. 国际化 4. 输入文件名...
这是我找到的最全的SWT示例,即使在官方网站上也非常难找,示例包括以下内容:SWT模式窗体,SWT浏览器,SWT树,SWT工具条,SWT画图工具,SWT图形,SWT各种布局,SWT剪贴板,SWT快捷键,SWT菜单,SWT文本编辑器,SWT...
操作、标签设置、打印、后退、前进、刷新按钮和增强的文件下载。 该项目基于(CEF)。 背景:javacef 为什么要开源? 我在 2012 年夏天找到了一份工作来制作一个界面,以便在 Java 中使用带有 SWT 的 Chromium ...
这个是基于swt实现的一个本地文件浏览器的源码,技术框架是RCP,想学习的欢迎免费下载,希望能对你们有所帮助
java数字签名,大小文件MD5验证,DES加密解密RSA加密解密,SWT浏览器插件的等源代码下载。
DJNativeSwing.jar,DJNativeSwing-SWT.jar,swt(Mac用.jar,swt(Window.jar 可解决问题:1.报错信息为缺少swt-cocoa-4335.dll和swt-cocoa.dll文件
java swt制作的一个浏览器,下载解压后,点击exe或bat文件可以直接运行
官网上的 swt examples http://www.eclipse.org/swt/examples.php 已整理好,里面包含许多常用例子,如文本编辑器,文件浏览器,绘图器,组件控制器的源码等等 项目有任何问题可联系本人
动态识别文件类型 5. 详尽的注释 <br>已知的Bug: 1. TreeViewer进行目录切换时,TableViewer窗体有时会变成空白 2. 有特殊字符的过滤操作将导致异常 3. 重命名没有考虑特殊字符 4. 有大量文件...
eclipseSwt swt-3.5M4-win32-win32-x86.zip 包含browser包内容,可以做java浏览器内嵌等功能包
设计Chromium SWT浏览器作为P2存储库提供,可以立即使用,其中包含: Chrome束每个平台片段的本地Chrome库包含以上所有内容的功能CEF二进制文件在单独的存储库中提供,以方便使用。P2资料库Eclipse P2存储库随Li
9.9.9 用键盘控制表格(TableCursor) 189 9.9.10 带有进度条的表格 191 9.9.11 表格小结 192 9.10 树(Tree) 192 9.10.1 不同样式的树 193 9.10.2 为树添加图标 193 9.10.3 可编辑的树 196 9.10.4 ...
第1章 Dreamweaver 8概述 第2章 网页中的文字、图像和导航条 第3章 框架、表格、层与网页布局 第4章 表单、样式表与网页中的其他对象 第5章 时间轴和行为 第6章 模板、命令、“资源”面板和外部插件 ...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
列出在Solr上配置的所有字段并检查其属性核心浏览器:列出Solr实例上托管的所有核心并检查其属性核心操作:创建,删除,重命名,交换,重新加载核心系统浏览器:查看所有系统属性配置文件浏览器:列出所有Solr配置...
PhonixJ 是一个用 Java 编写的简单、轻便且功能丰富的桌面电话簿应用程序。 它使用 Sqlite 数据库文件,因此非常便携。 该程序可在 Linux、Windows 和(即将推出的)MacOS 上运行。 特点: - 添加/删除联系人 - 创建...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...