分享
 
 
 

RCP财务管理程序v2.0笔记

王朝java/jsp·作者佚名  2006-01-14
窄屏简体版  字體: |||超大  

一天一夜没睡,又搞定了很多功能.

本来想弄完再上床,思路是有的,但发现时间还是不大够,现在大脑有点点疲惫了...呵呵,只有上来写写笔记,写RCP的过程就是学习的过程,其中的知识点不记下来容易忘记哦.

1.关于View里的许多事件监听:

我在写自己的代码前看了在eclipse里面找代码看了看,学到了不少,在eclipse的世界里,许多法则都很重要,在我看来,如果要说哪个最重要的话,就应该是"有样学样"法则了:P

毕竟,基本上你需要的功能,人家都写过了,你自己的办法也许很好,但是看别人的代码,你会发现自己的代码是那么蹩脚,加上eclipse本来把扩展性放到首位的,里面的代码很多都相当优秀,就是一个大宝库.

但是这么大的宝库,太大了,容易吓到人,尤其是象我这样的菜鸟.其实,只要用好eclipse自带的搜索功能,强迫自己多试两次就好了.

比如我要查别人写的View的代码,我有两种方法,都很简单:1)直接按类名查:输入*view<就可以了.2)按方法查:View一定有createContextMenu()吧,按方法名查找也能找到.

我看的是AntView的代码,有下面这些要点值得注意:

1)让它实现IResourceChangeListener接口

当整个Workbech有任何文件有改动时会接受到事件.

2)写一个Update接口,里面只有一个方法update();让所有的Action都实现这个接口,然后在View里用一个list装下所有产生的action.

再写一个updateProjectActions方法,当有资源改变时就调用它,依次update所有action.就能够及时的让action改变状态,比如能用或是不能用.

private void updateProjectActions() {

Iterator iter = updateProjectActions.iterator();

while

(iter.hasNext()) {

((IUpdate) iter.next()).update();

}

}

3)让view里的control实现几个常用的接口.

比如,如果view里面是一个treeViewer,可以让它分别实现:

addSelectionChangedListener

addDoubleClickListener

addKeyListener

4)用IMemento保存view的状态,这样关掉view再打开都没有影响,本来以为这个方法不大好用,今天算是见识到实例了:P改天好好研究研究.

2.两个eclipse里的小技巧:

1)在当前代码编辑editor里,按Ctrl+t,可以看到它的所有超类和子类,很方便.

2)Ctrl + 1是让eclipse自动修补错误,很方便.

3.关于窗口里的数据格式的判断

这看起来好象很简单,我发现其实里面也蛮有学问的,特别是一个窗口里有多个输入数据需要判断格式是否正确的时候.

就拿我的程序来说吧,如下的窗口,要判断是否有空白栏,要判断时间日期的格式,要判断价格是否为float,然后日期年月日要在一个正常的范围

里,还要友好的提示用户.

我没有看代码,因为Jface提供一个类似的工具,我自己干脆直接写了算了,以后有时间再换.

刚开始的方法很烂,到一半想到一个好方法,这样的思路:

private int

BLANK_ERROR = 0,

PRICE_ERROR = 0,

FORMAT_ERROR = 0,

YEAR_ERROR = 0,

MONTH_ERROR = 0,

DAY_ERROR = 0;

//这个字符串数组第一个为"",我的方法优点就在于这里

private String[] ERROR = new String[]{

"",

"您有些重要信息没有填",

"请输入正确的价格形式,为数字",

"请输入正确的时间格式,例如:2006-1-20.",

"请检查输入年的范围,系统默认在1960-2050之间.",

"请检查输入月份范围在1-12之间.",

"请检查输入日的范围在1-31之间"

};

//然后每个检查的方法在检查后,如果有错就把对应的数字改为一个整数,第一个为1,第二个方法为2,依次类推...

private void checkBlank(){

BLANK_ERROR = 0;

setData();

boolean isBlank = false;

for(int i = 0; i< data.length; i++){

if(data[i].equals("")){

isBlank = true;

break;

}

}

if(isBlank)

BLANK_ERROR = 1;

}

/**

* check if the price if a float

*/

private void checkPrice() {

PRICE_ERROR = 0;

boolean notFloat = false;

try {

new Float(price.getText().trim()).floatValue();

}catch(Exception e) {

notFloat = true;

}

if(notFloat)

PRICE_ERROR = 2;

}

...

然后判断错误直接用||操作符几个简单的if else就搞定了,象这样:

if(PRICE_ERROR != 0||YEAR_ERROR != 0 || MONTH_ERROR != 0|| DAY_ERROR != 0){

MessageDialog.openInformation(getShell(), "Information",

ERROR[YEAR_ERROR] + "\n" +

ERROR[MONTH_ERROR]+ "\n" +

ERROR[DAY_ERROR] + "\n" +

ERROR[PRICE_ERROR]);

return false;

}

哪个有错误,会自动显示对应的错误提示,哪一个没错也不要紧,因为ERROR[0]是空字符串.

这个方法我自己想出来的,一定有更简单的方法,以后看到再说咯.

4.关于eclipse RCP程序的导出,费了很大的劲,哎,一言难尽,以后时间多了再慢慢说,而且我现在还不是懂得特别多.

关于RCPFinance Pro的v2.0的计划,我现在的进度是这样的:

1)Table View增加删除数据功能.

2)检查时间的格式,能对适当列进行排序.

3)增加对鼠标事件的支持.

4)支持同时修改多份数据.

5)打开新文件时,如果没有保存则提示用户.

6)安全读写文件.

7)增加Help文档.

8)增加intro view.

9)增加Perspective.

10)增加自动升级功能.

5.放几个截图上来:

intro view

帮助

按F1,弹出对应的动态帮助

升级,搜索扩展,管理扩展:

嘿嘿,等会就睡觉了,争取两天内搞定2.0

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有