小编这次要给大家分享的是详解JAVA中SWT事件四种写法,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
一:匿名内部类写法
在一个组件下加入以下语句
text.addMouseListener(new MouseAdapter(){ public void mouseDoubleClich(MouseEVent e){ MessageDialog.openInformation(null,"","helloworld"): }})
这种方式是在事件内部直接实现处理代码,优点是简单方便,但也存在缺点
①:事件处理代码会分散的出现在各个部分,维护起来不方便;
②:如果代码较长,阅读和维护起来麻烦
③:当工具栏、菜单栏也需要相同的行为时,代码无法重用,导致代码臃肿
二:命名内部类写法:
text.addMouseListener(new MyMouseDoubleClick()); ...//定义MyMouseDoubleClick.java private static final class MyMouseDoubleClick extends MouseAdapter{ public void mouseDoubleClick(MouseEvent e){ MessageDialog.openInformation(null,"","hello world") } }
三:外部类写法:
这种方法与第二种方法类似,只是有内部类变为单个外部类
四:实现监听器接口的写法:
将类实现相应的接口,这样类本身就成了一个监听器,使得加入监听器的代码可以更简洁,这种方法适合加入监听器的组件较多,且要求监听器的事件处理代码可以被组件共用,需要注意的是
事件方法和其他方法混合在一起,所以应加一些注释来说明。没用事件处理方法可以用空来实现。如果继承了了相应的事件适配器,则可根据需要写相应的方法,另外需要注意,只有接口才有多继承的特性,所以如果类本身已经是一个子类,则只有通过实现接口的方式来实现而不能继承接口的适配器。
public class Helloworld extends MouseAdapter implements MouseListener{ public static void main(String[] args){ ....... Text text1=new Text(shell,SWT.Border); Text text2=new Text(shell, SWt.Border); text1.addMouseListener(this); text2.addMouseListener(this); } public void mouseDoubleClick(MouseEvent e){ MessageDialog.openInformation(null,"","hello world");}} } }
看完这篇关于详解JAVA中SWT事件四种写法的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。