今天花了一晚上把程序的数据结构和主界面弄出来了,非常粗糙.继续写中...
刚开始构思数据结构的时候总是想弄完美一些,免得到后来要改或者是出错,所以想了很久...我的大脑又不是计算机,实在没能把
每一步给算出来,大伤脑筋...无法开始写,幸运的是,我突然想到了TDD,测试驱动开发,前两天刚看过书,这里用TDD最好了,我
没有多思考,在一行程序都没开工就开始写测试代码,写测试代码很爽,就象Kent Beck说的那样:“象是在写故事。”
竟然没过多久就把完整的数据结构写好了,嘿嘿,这是我第一次用TDD写程序,没想到效果这么好.
然后开始写主界面咯,主界面主要就是两块,一个tree和一个TableTree.所以不难,我中间没有调试,希望能够一次通过编译,运
气不错,没出什么错,窗口出来只有一块白板...我很郁闷...总是找不到错误,在代码中间插了很多System.out.println语句,但
是发现都是正确的,表格里的数据都是对的,但是就没有任何表格显示出来!.......时间一分一分过去,我花了很长很长时间才找
protected Control createContents(Composite parent){
Composite composite = new Composite(parent,SWT.NONE);
...
treeViewer = new TreeViewer(composite);
//这里我把写成了treeViewer = new TreeViewer(parent);
...
...
tableTreeViewer = new TableTreeViewer(composite);
//这里我写成了tableTreeViewer = new TableTreeViewer(parent);
...
}
难怪没有显示出来...当我改过来就好了:)还是平时没有写程序,太生疏了.
下午做准备工作的时候还遇到过个问题,就是SWT中的Image类的使用方法,我很久都没有掌握,老是提示找不到类.我请教一位QQ好友
,他是eclipse RCP高手,他告诉我后,我顿时豁然开朗了:)
Image基本用法如下:
1.如果你是用文件系统的方式访问的话,应该使用FileInputStream
具体一点就是:
如果程序叫HelloWorld.java
它的package语句是:
package swt.my.test;
含有图片jface.gif的文件夹就应该放到与文件夹swt同一个目录里
那么代码应该这样写:
try {
image = new Image(null,new FileInputStream("images//jface.gif"));
} catch (FileNotFoundException e) {
//Ignore
}
2.如果是希望跟到类文件打包到jar中去的话,应该使用HelloWorld.class.getResourceAsStream("check.gif"),然后把check.gif
放到HelloWorld.java所在的目录3.如果你希望使用plugin的方式的话,可以使用Bundle.getResource