`
devexception
  • 浏览: 19572 次
社区版块
存档分类
最新评论

swt eclipse文件选择器

阅读更多
最近在写swt程序的时候,发现SWT Designer图形化工具的面板中找不到直接拖动的文件选择器。发现eclipse里面有很多的文件选择器,所以肯定是支持的,只是这个图形化工具不直接支持而已。查了下资料,发现其实很简单,就是在页面上添加一个按钮,然后为这个按钮实现选中事件,在事件中新建类就可以实现。不多说了,直接上代码。

package com.devexception;

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.FileDialog;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.events.HyperlinkAdapter;
import org.eclipse.ui.forms.events.HyperlinkEvent;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Hyperlink;

public class FileChooser {

	protected Shell shell;
	private Text fileDirText;
	private Text fileNameText;
	private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());

	/**
	 * Launch the application.
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			FileChooser window = new FileChooser();
			window.open();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Open the window.
	 */
	public void open() {
		Display display = Display.getDefault();
		createContents();
		shell.open();
		shell.layout();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}

	/**
	 * Create contents of the window.
	 */
	protected void createContents() {
		shell = new Shell();
		shell.setSize(450, 300);
		shell.setText("开发异常网");
		
		Button button = new Button(shell, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				FileDialog fileDialog=new FileDialog(shell);
				fileDialog.setText("chooser");
				fileDialog.open();
				fileDirText.setText(fileDialog.getFilterPath());
				fileNameText.setText(fileDialog.getFileName());
			}
		});
		button.setBounds(213, 77, 72, 22);
		button.setText("浏览");
		
		Label lblNewLabel = new Label(shell, SWT.NONE);
		lblNewLabel.setBounds(139, 127, 54, 12);
		lblNewLabel.setText("文件路径");
		
		fileDirText = new Text(shell, SWT.BORDER);
		fileDirText.setBounds(213, 127, 70, 18);
		
		Label lblNewLabel_1 = new Label(shell, SWT.NONE);
		lblNewLabel_1.setBounds(139, 173, 54, 12);
		lblNewLabel_1.setText("文件名");
		
		fileNameText = new Text(shell, SWT.BORDER);
		fileNameText.setBounds(215, 168, 70, 18);
		
		Hyperlink hprlnkNewHyperlink = formToolkit.createHyperlink(shell, "更多详情", SWT.NONE);
		hprlnkNewHyperlink.setBounds(139, 81, 63, 14);
		formToolkit.paintBordersFor(hprlnkNewHyperlink);
		hprlnkNewHyperlink.addHyperlinkListener(new HyperlinkAdapter(){

			@Override
			public void linkActivated(HyperlinkEvent e) {
				try {
				     Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler http://www.devexception.com/j2se/554187.htm/");
				    } catch (IOException e1) {
				     e1.printStackTrace();
				    }

			}
			
		});
	}
}
1
3
分享到:
评论
2 楼 devexception 2014-09-05  
qindongliang1922 写道
swt现在还更新吗,用的怎么样

研究这个,也是受人之托,帮忙做一个工具软件。感觉页面效果还是不错的。至于有没有更新,这个还真不太清楚呢。
1 楼 qindongliang1922 2014-09-04  
swt现在还更新吗,用的怎么样

相关推荐

    swt设计器for_Eclipse4.5

    1. 解压缩下载的"swt设计器for_Eclipse4.5"文件。 2. 找到Eclipse的安装目录,进入"plugins"或"features"目录,这取决于插件的类型。 3. 将解压缩后的文件夹复制到相应的目录下。 4. 启动Eclipse,如果Eclipse识别到...

    Eclipse SWT 开发参考

    - **ColorDialog、FontDialog等对话框组件**:用于创建颜色选择器、字体选择器等对话框。 - **FileDialog控件**:用于打开文件选择对话框。 - **PrintDialog控件**:用于打开打印设置对话框。 - **CCombo组件**:一...

    Eclipse SWT/Jface环境设置 DOC文件

    3. **对话框和警告**:JFace提供了标准的对话框组件,如消息对话框、输入对话框、颜色选择器等,使开发者能够快速实现用户交互。 4. **模型-视图-控制器(MVC)**:JFace遵循MVC设计模式,将用户界面与业务逻辑分离...

    Eclipse SWT开发点滴

    ### Eclipse SWT开发点滴 #### 一、第三方包的引用 在使用Eclipse进行SWT开发时,经常会遇到需要引入第三方库的情况。以下是引入第三方库的具体步骤: 1. **工程项目增加Libraries** - 右键点击项目 -> `Build ...

    Eclipse下使用swt

    ### Eclipse 下使用 SWT 的知识点详解 #### 一、概述 Eclipse 是一款广泛使用的开源集成开发环境(IDE),尤其在 Java 开发领域占有重要地位。随着 Eclipse Visual Editor Project (VEP) 的出现,Eclipse 不仅能...

    java eclipse swt教程

    4. **对话框**(Dialogs):SWT提供了多种对话框,如消息对话框(MessageDialog)、输入对话框(InputDialog)和文件选择对话框(FileDialog),用于进行用户交互。 5. **拖放功能**(Drag and Drop):SWT支持在...

    SWT Designer 对应eclipse3.7版本插件

    压缩包子文件的文件名称"eclipse3.7的swt安装.txt"暗示了这可能是一个安装指南或者步骤说明,里面包含了如何在Eclipse 3.7中正确安装和配置SWT Designer的详细信息。通常,这样的文本文件会包含如下内容: 1. 下载...

    eclipse swing/SWT插件

    3. 在“Work with”下拉框中选择“Add”,输入插件更新站点的URL或导入已下载的插件文件。 4. 遵循向导完成插件安装,重启Eclipse后即可使用。 features和plugins目录通常包含Eclipse插件的元数据和实际插件组件。...

    Eclipse SWT 4.4 API 文档

    对于需要访问系统资源的开发者,SWT提供了诸如文件对话框、系统剪贴板、定时器和线程服务等实用工具。 SWT的一个重要特性是其可扩展性,它支持自定义控件的创建。开发者可以通过继承现有的SWT类并覆盖方法来实现...

    eclipse配置SWT(4/4)

    3. **导入SWT库**:将下载的SWT库解压后,将jar文件添加到Eclipse项目的类路径中。可以通过右键点击项目 -> Build Path -> Configure Build Path -> Libraries -> Add Jars 或 Add External Jars 来完成。 4. **...

    eclipse开发SWT应用

    1. **创建 SWT 项目**:在Eclipse中,选择“File” -> “New” -> “Project”,然后在“Java”类别下找到“SWT Project”。输入项目名称,选择合适的JRE版本,点击“Finish”完成项目创建。 2. **编写 SWT 主类**...

    Eclipse中SWT插件的安装Eclipse中SWT插件的安装

    4. **选择合适的插件**: 搜索结果会显示多个相关的插件,例如SWT Designer或Eclipse RCP。SWT Designer是一个可视化编辑器,可以帮助设计SWT和JFace的用户界面。根据你的需求选择合适的插件,点击“安装”(Install...

    Eclipse SWT面板编辑插件+安装教程

    一旦插件安装成功,开发者可以在Eclipse的Package Explorer或Project Explorer中右键点击SWT相关的源代码文件,选择“Open With” > 插件提供的编辑器,然后就可以开始使用图形化界面设计SWT UI了。 总的来说,...

    org.eclipse.swt相关所有jar包,

    【标签】中的"swt jar包"指的是包含SWT库的Java归档文件,这些jar包通常包括了SWT的各种组件和功能,如控件、布局管理器、事件处理机制等。开发人员需要根据目标操作系统的版本和架构选择相应的SWT jar包,因为每个...

    Eclipse SWT/JFace核心应用

    Eclipse SWT (Standard Widget Toolkit) 和 JFace 是两个在Java编程环境中用于构建图形用户界面(GUI)的重要库,尤其在开发Eclipse插件和RCP(Rich Client Platform)应用程序时非常常见。它们提供了丰富的控件、...

    swt 文件的执行方法

    这些库文件是根据目标平台(如Windows、Linux、Mac OS等)选择的,确保在运行SWT程序时使用正确的版本。例如,如果你是在Windows环境下开发,需要使用`swt_win32.jar`,而在Linux环境下则需要`swt_gtk.jar`。 总的...

    eclipse-2019-64(集成SWT).zip

    "eclipse-2019-64(集成SWT)" 指的是2019年版本的Eclipse IDE,特别地,这个版本集成了SWT(Standard Widget Toolkit)库。SWT是Eclipse项目的一部分,它为Java应用程序提供了一套丰富的用户界面组件,与Java Swing...

    Eclipse3.2配SWT可视化开发

    - 在Eclipse中创建一个新的Java类,选择适当的样式,例如SWT风格。 #### 三、详细步骤 1. **安装EMF、GEF和VE** - 下载EMF、GEF和VE的最新版本,并解压到指定目录,例如`C:\eclipse\emf`、`C:\eclipse\gef`和`C...

    Eclipse_Swt_Jface_核心应用

    9. SWT与AWT/Swing的对比:分析SWT相对于标准Java GUI库的优势和劣势,帮助开发者选择合适的工具。 10. 示例与实践:通过实际项目示例,演示如何综合运用SWT和JFace开发功能完备的应用程序。 这个系列教程可能是...

    Eclipse下SWT图形界面开发指南(2)

    针对不同的事件触发状态信息的更新,例如文件夹的打开或关闭、文件的选择等。 #### 图标和图像的应用 图标和图像在GUI设计中扮演着极其重要的角色。良好的图标设计不仅能提升应用程序的美观度,还能帮助用户更...

Global site tag (gtag.js) - Google Analytics