用 JFace和SWT 构建一个简单的应用程序
2009-12-04 10:35
459 查看
import java.io.*; import java.util.*; import org.eclipse.jface.viewers.*; public class FileTreeContentProvider implements ITreeContentProvider { public Object[] getChildren(Object element) { Object[] kids = ((File) element).listFiles(); return kids == null ? new Object[0] : kids; } public Object[] getElements(Object element) { return getChildren(element); } public boolean hasChildren(Object element) { return getChildren(element).length > 0; } public Object getParent(Object element) { return ((File)element).getParent(); } public void dispose() { } public void inputChanged(Viewer viewer, Object old_input, Object new_input) { } }
[/code]
import java.io.*; import org.eclipse.jface.viewers.*; import org.eclipse.jface.window.*; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; public class Explorer extends ApplicationWindow { public Explorer() { super(null); } protected Control createContents(Composite parent) { TreeViewer tv = new TreeViewer(parent); tv.setContentProvider(new FileTreeContentProvider()); // tv.setLabelProvider(new FileTreeLabelProvider()); tv.setInput(new File("C://")); return tv.getTree(); } public static void main(String[] args) { Explorer w = new Explorer(); w.setBlockOnOpen(true); w.open(); Display.getCurrent().dispose(); } }
[/code]
import java.io.*; import org.eclipse.jface.viewers.*; public class FileTreeLabelProvider extends LabelProvider { public String getText(Object element) { return ((File) element).getName(); } }
[/code]
[/code]
import java.io.*; import org.eclipse.jface.viewers.*; import org.eclipse.jface.window.*; import org.eclipse.swt.*; import org.eclipse.swt.custom.*; import org.eclipse.swt.widgets.*; public class Explorer extends ApplicationWindow { public Explorer() { super(null); } protected Control createContents(Composite parent) { SashForm sash_form = new SashForm(parent, SWT.HORIZONTAL | SWT.NULL); TreeViewer tv = new TreeViewer(sash_form); tv.setContentProvider(new FileTreeContentProvider()); tv.setLabelProvider(new FileTreeLabelProvider()); tv.setInput(new File("C://")); final TableViewer tbv = new TableViewer(sash_form, SWT.BORDER); tbv.setContentProvider(new FileTableContentProvider()); tbv.setLabelProvider(new FileTableLabelProvider()); TableColumn column = new TableColumn(tbv.getTable(), SWT.LEFT); column.setText("Name"); column.setWidth(200); tbv.getTable().setHeaderVisible(true); tv.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); Object selected_file = selection.getFirstElement(); tbv.setInput(selected_file); } }); return sash_form; } public static void main(String[] args) { Explorer w = new Explorer(); w.setBlockOnOpen(true); w.open(); Display.getCurrent().dispose(); } }
import java.io.*;
import org.eclipse.jface.viewers.*; import org.eclipse.swt.graphics.*; public class FileTableLabelProvider implements ITableLabelProvider { public String getColumnText(Object obj, int i) { return ((File) obj).getName(); } public void addListener(ILabelProviderListener ilabelproviderlistener) { } public void dispose() { } public boolean isLabelProperty(Object obj, String s) { return false; } public void removeListener(ILabelProviderListener ilabelproviderlistener) { } public Image getColumnImage(Object arg0, int arg1) { return null; } }
[/code]
[/code]
相关文章推荐
- 在 Eclipse Workbench 之外使用 Eclipse GUI,第 1 部分: 单独使用 JFace 和 SWT构建一个简单的文件资源管理器应用程序
- 一步一个脚印学习WCF之二构建一个简单的WCF应用程序前必须掌握的WCF基础术语---地址(Addresses)
- SWT 和 JFace, 第 1 部分:如何创建简单的 SWT 应用程序
- Android高效的应用程序开发工具集1---ant构建一个简单的Android工程
- 使用 Pitney Bowes 定位服务构建一个简单的图片定位应用程序
- SWT 和 JFace,第 1 部分: 如何创建简单的 SWT 应用程序
- 构建一个简单的Silverlight应用程序
- 一步一个脚印学习WCF之二构建一个简单的WCF应用程序前必须掌握的WCF基础术语---契约(Contract)
- 使用ant工具——构建一个简单的Hibernate应用程序
- 一个最简单的.NET Remoting构建的分布式应用程序示例
- SWT 和 JFace,第 1 部分: 创建简单的 SWT 应用程序
- 一步一个脚印学习WCF之二构建一个简单的WCF应用程序前必须掌握的WCF基础术语---契约的名称与命名空间
- 构建一个简单的ios应用程序
- 使用Hprose制作一个简单的分布式应用程序
- (Struts重构)构建一个简单的基于MVC模式的JavaWeb
- 一个简单的SWT程序实例及详解-Java基础-Java-编程开发
- 从零开始一步步教你:用C++开发一个简单的hadoop分布式计算应用程序
- 利用C#编写一个简单的抓网页应用程序
- 微信小程序入门之构建一个简单TODOS应用
- 一个简单的控制台应用程序