这几天继续研究Eclipse,把资源管理器的程序进一步完善,增加了一些功能,距离成品还相当的远着呢。
v_0.2.0程序技术点如下:
1、修改了图标转换算法,没有失真;
参见ImageConverter.getSWTImageFromSwing();
1、修改了图标转换算法,没有失真;
参见ImageConverter.getSWTImageFromSwing();
2、点击文件列表标题排序;
参见BaseTableViewer.createColumns()为每个列创建监听器;
参见FileListTable.FileListTable()设置排序器;
参见FileSorter,完成具体的文件比较;
3、多SashForm,对窗口同时进行水平和垂直分隔;
参见SExploreView.createPartControl();
参见SExploreView.createPartControl();
4、使用FormLayout放置控件;
参见FileStatus.createControls();
参见FileStatus.createControls();
5、真正实现TableViewer的SelectChanged事件;
参见BaseTableViewer.fireSelectionChanged();
参见BaseTableViewer.fireSelectionChanged();
6、得到文件的创建日期;
参见FileUtil.getFileCreateDate();
参见FileUtil.getFileCreateDate();
7、得到指定文件的大图标;
参见FileStatus.showLargeIcon();
参见FileStatus.showLargeIcon();
8、控件尺寸改变,界面刷新,主要是this.layout(true)这一句;
参见FileStatus.selectionChanged();
9、得到一个字符串的宽度;
参见StringUtil.getStringWidth();
参见StringUtil.getStringWidth();
10、Iterator的循环语句写法,这个经常记不住,写在这里备忘
参见FileStatus.selectionChanged();
参见FileStatus.selectionChanged();
11、目录树、文件列表和状态条之间的交互;
设置Listener参见SExploreView.createPartControl();
各个Listener的代码参见:
FileSystemTree.doubleClick()
FileListTable.selectionChanged()
FileStatus.selectionChanged()(两个,一个对应目录树的SelectionChanged,一个对应文件列表的)
设置Listener参见SExploreView.createPartControl();
各个Listener的代码参见:
FileSystemTree.doubleClick()
FileListTable.selectionChanged()
FileStatus.selectionChanged()(两个,一个对应目录树的SelectionChanged,一个对应文件列表的)
本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/338442,如需转载请自行联系原作者