最近学习和研究Eclipse RCP应用,顺便写了个资源管理器程序练练手,经过一段时间的摸索,总算是有了个初步的模样。本来打算起名叫JExplore的,毕竟是用Java来写的,可是网上现在JExplore这个名字简直已经臭大街了,考虑到这个资源管理器程序是基于SWT的,就叫做SExplore吧,嗯,名字就是个代号,姑且这么叫吧。
本程序重点在于研究和演示相关技术,功能嘛,根据需要慢慢添加就是了。好了,贴张图先:
1
本程序技术点如下: 
1、读取文件系统目录,构成目录树; 
    参见FileSystemTree.java, FileSystemTreeContentProvider.java, FileSystemTreeLabelProvider.java 
2、目录树节点上显示图标,从Swing的Image转换到SWT的Image; 
    参见ImageConverter.getSWTImageFromSwing()
3、真正实现树节点SelectChanged事件; 
    参见BaseTreeViewer.fireSelectionChanged()
4、双击树节点,打开或关闭目录; 
    参见DoubleClickTreeNode.mouseDoubleClick()和FileSystemTree.FileSystemTree()添加鼠标双击事件侦听器的代码;
5、单击不同的树节点,右边显示目录的详细列表,TreeViewer与Table控件的联动; 
    参见SExploreView.createPartControl()中相应代码和FileListTable.selectionChanged()
6、TreeViewer和Table控件之间有分隔条,可以拖动改变大小; 
    参见    SExploreView.createPartControl()中相应代码,主要是使用了Sash来实现的 
7、缺省展开到TreeViewer的指定节点 
    参见    FileSystemTree.FileSystemTree()中展开节点部分的代码 
8、缺省设定选择TreeViewer上的指定节点    
    参见    FileSystemTree.FileSystemTree()中选择C盘节点的代码
9、文件列表部分排序,先显示文件夹,再显示文件 
    参见FileListContentProvider.getElements()代码 
10、基于XML文件,配置Table的属性 
    参见BaseTableViewer.java和TableParaser.java 
11、时间、数字的格式化输出; 
    参见FileListLabelProvider.getColumnText()

注意事项: 
1、需要拷贝datawindowDef.xml到D盘根目录下,因为代码为了省事,直接把文件列表Table的属性定义文件放到D盘根目录下了;
待添加功能: 
1、文件列表,单击表头排序; 
2、文件列表,双击文件夹可以进入下层目录,同时目录树也跟着变化; 
3、文件列表,双击文件,使用系统缺省程序打开文件; 
4、文件、文件夹的增删改功能; 
5、单击右键,显示系统菜单; 
6、文件、文件夹的查找功能; 
7、增加菜单、工具条等; 
8、其它,想到再说
已知问题: 
1、对于Windows7,目录树显示库图标的时候,不是实际的图标样式;