java swt文件夹浏览器_java swt 打开浏览器

本文通过一个简单的示例展示了如何使用SWT技术在Java应用程序中打开浏览器窗口。示例代码包括创建GUI界面和使用Runtime.exec方法启动浏览器。

下面是本人做的小例子使用的是swt技术,这个例子没有业务逻辑主要是为了说明swt打开浏览器的实现,本人加入了线程的控制提交程序运行速度。小弟初来乍到,如果下面的小例子有可以改进的地方希望大侠不惜赐教:

代码如下:

import java.io.IOException;

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.SelectionAdapter;

import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.widgets.Button;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Shell;

public class Test extends Thread {

public static void main(String[] args) throws Exception {

new Test().start();

}

public void run(){

goIntnet();

}

public void goIntnet(){

Display display = new Display();

Shell shell = new Shell(display);

shell.setText("打开浏览器");

shell.setBounds(300, 100, 600, 400);

Button goIntenet = new Button(shell, SWT.NONE);

goIntenet.setText("打开浏览器");

goIntenet.setBounds(150, 80, 300, 200);

goIntenet.addSelectionListener(new SelectionAdapter() {

@Override

public void widgetSelected(SelectionEvent e){

try {

Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandlerhttp://localhost:8080/");

} catch (IOException e1) {

e1.printStackTrace();

}

}

});

shell.open();

while(!shell.isDisposed()){

if(!display.readAndDispatch()){

display.sleep();

}

}

}

}

运行结果如下图所示:

2fb92f161aa4a0f7448b8dfd1d0d65c5.png

点击按钮,可以成功打开浏览器窗口如下图所示:

3845c5e330ff7bfeb2cb3a189c29e39f.png

################19/12/2007更新################### 新添加/重写的功能: 1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互) 2. 添加创建新文件夹功能 3. 添加选择全部/文件/文件夹功能 4. 增加对创建新文件夹,重命名,删除,粘贴操作的异常处理 5. FileUtil中增加getFileCentent方法,用于读取文本文件内容 6. 重写AboutDialog 7. 重写ExitAction 8. 重写FileUtil中doPaste()方法,显著提高速度,修正拷贝文件时会导致文件不正常的严重Bug 9. 修正其他部分已发现Bug 10. 版本号升级为0.5 尚未实现的功能: 1. 与外界程序的交互 2. 拖拽 3. 国际化 4. 输入文件名时对特殊字符的验证 ################17/12/2007更新################### 新添加/重写的功能: 1. 排序功能已加入菜单栏和弹出菜单 2. 重写图标载入方法,已经可以实现图标动态载入和识别 3. 重写TableViewer中tableColumn生成载入方法,已经可以实现tablecolumn的半动态载入和识别 4. 实现动态识别文件类型 5. 进行删除操作时,对删除的文件进行识别 6. 更新添加了一些FileUtil中的方法,并且把这个类的注释写的差不多了 - - 注意: 1. icons文件夹内的文件结构有变化。 2. jar文件没有更新,如果需要打好包的jar文件请等我把功能都实现后的那个版本 - - 尚未实现的功能: 1. 剪切/复制/粘贴功能 2. 拖拽功能 3. 详尽的注释 4. 异常处理 5. 国际化 ################14/12/2007更新################### 已经实现的基本功能: 1. 树形浏览结构 2. 双击 运行程序/进入下一级菜单目录 3. 返回上一级菜单 4. 重命名 5. 刷新 6. 删除 7. 按文件名/大小/类型/最后修改日期排序 8. 对当前文件夹进行过滤操作 9. 对当前文件夹的简要统计 尚未实现的功能: 1. 剪切/复制/粘贴 2. 拖拽 3. 弹出菜单中的排序选项 4. 动态识别文件类型 5. 详尽的注释 已知的Bug: 1. TreeViewer进行目录切换时,TableViewer窗体有时会变成空白 2. 有特殊字符的过滤操作将导致异常 3. 重命名没有考虑特殊字符 4. 有大量文件(几百个以上)的目录打开的很慢 5. 文件删除失败时没有提示###### 新添加/重写的功能: 1. 已实现简单的剪切/复制/粘贴功能(尚不能和外界程序交互) 2. 添加创建新文件夹功能 3. 添加选择全部/文件/文件夹功能 4. 重写AboutDialog 5. 增加对创建新文件夹,重命名,删除,粘贴操作的异常处理 6. 重写ExitAction 7. 修正部分已发现Bug 尚未实现的功能: 1. 与外界程序的交互 2. 拖拽 3. 国际化 4. 输入文件名时对特殊字符的验证
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值