前一段时间,有朋友给我E-Mail问道:“李先生,我想请问您一下:如何在SWT中使用像平时在Web开发过程中所使用的文件上传时的那个按钮?”。
答:“SWT中本身是没有文件浏览这个按钮的,我们平时都是以普通按钮的方式来解决这一问题。其实,我们可以这样做的:先实例化一个普通的Button,在这个Button的点击动作时加入一个文件对话框,即
org.eclipse.swt.widgets.FileDialog,实现起来同样是可以达到我们想要的效果的。下面是我做部份代码:
final Button button = new Button(cssFileGroup, SWT.NONE);
button.setText("选择文件...");
button.setToolTipText("单击此按钮,选择已定义好的css文件路径!");
button.setLayoutData(new GridData(70, 20));
button.addMouseListener(new MouseAdapter() {
// 按钮弹起时弹出文件选择对话框
public void mouseUp(MouseEvent e) {
FileDialog fd = new FileDialog(getShell(), SWT.OPEN | SWT.SINGLE);//文件对话框
//DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.NONE);文件夹对话框
String result = fd.open();
filePathText.setText(result);//注意这个是我们按钮前的那个文本框.
}
});
效果如下:
不知道大伙是否注意到我蓝色已注释的那一行代码,那个是文件夹对话框,也就是它最终只能是选择到文件夹,不是文件。其实,核心的代码也就是我加红的那部份,在此公布出来希望可以给正在做SWT的一些朋友有一个参考与帮助。
有什么问题欢迎大家通过E-Mail lsl-120@163.com 与我联系,如果大家在平时的Java 开发过程中有些什么希望提高的可以通过电话与我联系,具体说明见:http://leaderbird.blogcn.com/diary,11552656.shtml,电话;86-020-39680205 13690789770
李小强 leaderbird 2007-11-21
答:“SWT中本身是没有文件浏览这个按钮的,我们平时都是以普通按钮的方式来解决这一问题。其实,我们可以这样做的:先实例化一个普通的Button,在这个Button的点击动作时加入一个文件对话框,即
org.eclipse.swt.widgets.FileDialog,实现起来同样是可以达到我们想要的效果的。下面是我做部份代码:
final Button button = new Button(cssFileGroup, SWT.NONE);
button.setText("选择文件...");
button.setToolTipText("单击此按钮,选择已定义好的css文件路径!");
button.setLayoutData(new GridData(70, 20));
button.addMouseListener(new MouseAdapter() {
// 按钮弹起时弹出文件选择对话框
public void mouseUp(MouseEvent e) {
FileDialog fd = new FileDialog(getShell(), SWT.OPEN | SWT.SINGLE);//文件对话框
//DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.NONE);文件夹对话框
String result = fd.open();
filePathText.setText(result);//注意这个是我们按钮前的那个文本框.
}
});
效果如下:
不知道大伙是否注意到我蓝色已注释的那一行代码,那个是文件夹对话框,也就是它最终只能是选择到文件夹,不是文件。其实,核心的代码也就是我加红的那部份,在此公布出来希望可以给正在做SWT的一些朋友有一个参考与帮助。
有什么问题欢迎大家通过E-Mail lsl-120@163.com 与我联系,如果大家在平时的Java 开发过程中有些什么希望提高的可以通过电话与我联系,具体说明见:http://leaderbird.blogcn.com/diary,11552656.shtml,电话;86-020-39680205 13690789770
李小强 leaderbird 2007-11-21