当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言: ******************************************************* 作者:陈刚,普通程序员,曾有幸以Eclipse插件方式开发过一个中型软件。
 

 

 ·用javamail发送带附件的邮件     »显示摘要«
    摘要:本文根据ian f. darwin的《java cookbook》整理而成,原书用整章的文字介绍如何发邮件,可能头绪会比较乱,本文则将其浓缩成一篇文章,力求使完全不懂javamail的人,都可以根据文中指示稍作修改,拿来就可以用。如果对其中原理还有不清楚,你可以参考原书。一、首先要用到三个java文件:1.mailconstants.java,properties文件的助记符://////////......
 ·java新功能之一枚举     »显示摘要«
    摘要: java中的枚举 作者:wfg package a001;// 最新在学习java 新功能中枚举//就写了如下这样的一个例子/*public enum testenum{ red("color-ff0000") { void setinfo(string val) { strinfo=val; } string getinfo() { return strinfo; } }......


第7章 SWT/JFace的事件模型
*******************************************************

付诸于纸,暂取书名<eclipse开发指南>,将于2005年初由清华大学出版社出版. 【程序编程相关:MVC设计模式带来更好的软件结构和代码重

作者:陈刚,普通程序员,曾有幸以eclipse插件方式开发过一个中型软件.现将所学 【推荐阅读:使用水晶报表JRC(Java Repor

******************************************************* 【扩展信息:eclipse+tomcat+lombo

blog:http://blog.csdn.net/glchengang/

第7章  swt/jface的事件模型

7.1  事件的四种写法

swt的事件模型是与java标准的awt基本一样的.在第6章的例子中,如何来实现文本框的事件响应呢?比如:鼠标双击文本框弹出一个对话框.下面将按照事件的四种写法来实现它.

7.1.1  匿名内部类写法

在原来的代码行“text = new text(shell, swt.border);”之下插入如下语句:

//addmouselistener加入鼠标事件的监听器

text.addmouselistener(new mouseadapter() {

    public void mousedoubleclick(mouseevent e) {//鼠标双击事件的方法

         //打开一个信息框

        messagedialog.openinformation (null,"","hello world");

    }

});

new mouseadapter()就是一个匿名内部类.我们建立了一个继承于mouseadapter的类,但并没有给这个类命名,并且没有用通常的写法,而是直接在text.addmouselistener方法中写下了类的代码,这就是所谓的匿名内部类(更详尽的解释请参阅java基础类书籍).

使用匿名内部类来写事件代码简单方便,但也要注意它的一些缺点:

l           由于事件处理代码会随着组件一起分散在代码中的各个部份,不够集中,这样会导致代码阅读与维护上的不便.

l           各事件的处理全部由嵌套的程序块组成,视觉上会显示有些乱.如果事件处理代码很长,也会导致了阅读与维护上的不便.

l           当工具栏.菜单栏目等也需要处理相同的用户行为时,无法重用事件中的处理代码,导致了代码的臃肿.

7.1.2  命名内部类写法

事件代码使用命名内部类的方式,可以解决匿名内部类存在的问题:首先,事件处理代码都集中在一起,并且都具有有意义的名称,程序容易阅读与维护;另外,单个的事件处理程序也可以被工具栏.菜单栏等重用.实现代码如下:

public class helloworld {


...   下一页
 ·基于目录结构认证的问题     »显示摘要«
    摘要: 目录结构以tree形式展现,按照rbac的规范,我把目录当做一种资源(resource),然后以permission=resource+operation来定义权限,operation包括view,edit,check in/out等, 定义一个权限的大概流程是:在目录树上选择某一目录节点,然后选择一种操作类型,由此定义一个对该节点的权限permission1。 按此方式授权:permissio......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE