一个用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
分享到:
相关推荐
在"JAVA SWT 多标签浏览器"项目中,源码部分(用eclipse直接载入)是关键,它包含了一系列的Java类和方法,用于实现浏览器的基本功能,如加载URL、前进、后退、刷新、书签管理等。开发者可能使用了`org.eclipse.swt....
**基于SWT组件的IE内核Java简易浏览器** 在Java编程世界中,开发一款简易的浏览器是一项有趣的挑战,尤其当涉及到用户界面(UI)的设计时。SWT(Standard Widget Toolkit)是Eclipse基金会提供的一种GUI库,它允许...
本项目以SWT为工具,开发了一个简单的Java浏览器,实现了浏览网页的基本功能。通过分析这个源代码,我们可以深入理解SWT如何被用来构建具有实际应用价值的程序。 首先,我们要了解SWT的优势。与Java标准库中的AWT和...
这个“SWT java浏览器”是一个使用SWT库开发的浏览器组件,它允许开发者在Java应用程序中集成浏览网页的功能。下面我们将深入探讨SWT库以及如何利用它构建具有完整功能的浏览器。 1. SWT库简介: SWT是一个针对Java...
8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug 9. 修正其他部分已发现Bug 10. 版本号升级为0.5 尚未实现的功能: 1. 与外界程序的交互 2. 拖拽 3. 国际化 4. 输入文件名...
SWT提供了一个`Browser`类,允许开发者在Java程序中内嵌一个Web浏览器组件。 **JavaFX** 是Oracle公司推出的新一代富客户端应用开发框架,它提供了丰富的UI控件、2D/3D图形渲染、动画和媒体处理等功能。JavaFX的`...
3. **文件内容处理**:服务器接收到请求后,读取并处理文件内容,可以是简单的预览,也可以是复杂的编辑操作。 4. **数据回传**:服务器将处理后的文件内容以HTML、图片或其他形式返回给客户端,SWT应用可以直接...
在这个场景下,"Java内嵌浏览器eclipse.swt插件版"指的是使用SWT来实现Java应用程序中的内嵌浏览器功能。 SWT是Eclipse项目的一部分,设计用于替代Java Swing,提供更丰富的图形用户界面和更好的性能。它利用了操作...
"djnativeswing-sw.jar"文件则是DJNativeSwing-SWT的实现,它实现了在SWT环境下内嵌浏览器的功能。"org.eclipse.swt."标签表明这些JAR包依赖于Eclipse SWT库,这是实现原生浏览器控件的关键。 在使用这些JAR包时,...
DJNativeSwing-SWT是DJNativeSwing的一个扩展,它将DJNativeSwing与SWT集成,使得在使用SWT作为GUI构建工具的Java应用中也能方便地嵌入浏览器。SWT(Standard Widget Toolkit)是Eclipse基金会提供的一套用于创建...
这个压缩包文件“Java-Swing嵌入浏览器(本地浏览器和webkit浏览器-火狐内核)”显然提供了一个实现这一功能的示例,主要涉及到的技术是DJnative-SWT和SWT。 DJnative-SWT 是一个开源项目,它的目标是将Java和...
通过组合这些组件,开发者可以创建出直观的文件浏览器界面。 2. **事件驱动编程**:SWT基于事件驱动模型,用户操作如点击、拖放等都会触发相应的事件。开发者需要注册事件监听器,处理这些事件来实现应用程序的功能...
本项目是使用 SWT 和 JFace 实现的一个功能丰富的记事本程序,集成了内置浏览器功能,提供了多种操作选项,如保存、另存、打开、复制、粘贴、剪切、撤销、修改字体以及打印等。现在我们将详细讨论这些知识点。 1. ...
这是我找到的最全的SWT示例,即使在官方网站上也非常难找,示例包括以下内容:SWT模式窗体,SWT浏览器,SWT树,SWT工具条,SWT画图工具,SWT图形,SWT各种布局,SWT剪贴板,SWT快捷键,SWT菜单,SWT文本编辑器,SWT...
源码会详细展示了如何使用SWT和RCP来实现文件浏览器的各种功能,包括但不限于以下部分: - **Plugin.xml**:定义插件元数据,包括插件ID、依赖、激活类等。 - **Java源代码**:实现文件浏览器的核心逻辑,如视图、...
操作、标签设置、打印、后退、前进、刷新按钮和增强的文件下载。 该项目基于(CEF)。 背景:javacef 为什么要开源? 我在 2012 年夏天找到了一份工作来制作一个界面,以便在 Java 中使用带有 SWT 的 Chromium ...
在标签中,"java图形化"指的是使用Java进行GUI编程,"java开发浏览器"可能是指使用SWT可以创建出类似于浏览器的界面,比如Web浏览器控件,允许在Java应用中显示网页。"dj-native-swing"是前面提到的结合Swing和SWT的...
DJNativeSwing.jar,DJNativeSwing-SWT.jar,swt(Mac用.jar,swt(Window.jar 可解决问题:1.报错信息为缺少swt-cocoa-4335.dll和swt-cocoa.dll文件
`WebBrowsers.java`可能实现了使用SWT创建浏览器组件的功能,允许在Java应用程序内嵌入Web浏览器,可能涉及到`org.eclipse.swt.browser.Browser`类的使用。 6. **协议处理和密钥管理**:`ProtocalCipher.java`和`...
标题中的“eclipse swt包”指的是Eclipse项目中的SWT库,通常以JAR文件的形式提供,用于开发人员在Eclipse环境下构建具有原生外观的Java应用程序。描述中提到的"swt-3.5M4-win32-win32-x86.zip"是一个特定版本的SWT...