国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

JAVA SWT事件四種寫法實(shí)例解析

瀏覽:76日期:2022-08-31 15:06:13

一:匿名內(nèi)部類寫法

在一個組件下加入以下語句

text.addMouseListener(new MouseAdapter(){ public void mouseDoubleClich(MouseEVent e){ MessageDialog.openInformation(null,'','helloworld'):}})

這種方式是在事件內(nèi)部直接實(shí)現(xiàn)處理代碼,優(yōu)點(diǎn)是簡單方便,但也存在缺點(diǎn)

①:事件處理代碼會分散的出現(xiàn)在各個部分,維護(hù)起來不方便;

②:如果代碼較長,閱讀和維護(hù)起來麻煩

③:當(dāng)工具欄、菜單欄也需要相同的行為時,代碼無法重用,導(dǎo)致代碼臃腫

二:命名內(nèi)部類寫法:

text.addMouseListener(new MyMouseDoubleClick());...//定義MyMouseDoubleClick.javaprivate static final class MyMouseDoubleClick extends MouseAdapter{ public void mouseDoubleClick(MouseEvent e){ MessageDialog.openInformation(null,'','hello world')}}

三:外部類寫法:

這種方法與第二種方法類似,只是有內(nèi)部類變?yōu)閱蝹€外部類

四:實(shí)現(xiàn)監(jiān)聽器接口的寫法:

將類實(shí)現(xiàn)相應(yīng)的接口,這樣類本身就成了一個監(jiān)聽器,使得加入監(jiān)聽器的代碼可以更簡潔,這種方法適合加入監(jiān)聽器的組件較多,且要求監(jiān)聽器的事件處理代碼可以被組件共用,需要注意的是

事件方法和其他方法混合在一起,所以應(yīng)加一些注釋來說明。沒用事件處理方法可以用空來實(shí)現(xiàn)。如果繼承了了相應(yīng)的事件適配器,則可根據(jù)需要寫相應(yīng)的方法,另外需要注意,只有接口才有多繼承的特性,所以如果類本身已經(jīng)是一個子類,則只有通過實(shí)現(xiàn)接口的方式來實(shí)現(xiàn)而不能繼承接口的適配器。

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');}}}}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 定襄县| 广宗县| 天津市| 肇州县| 广元市| 伊川县| 上虞市| 田东县| 从江县| 汉中市| 宜城市| 台山市| 左贡县| 惠东县| 饶阳县| 萝北县| 玉屏| 永德县| 鄂伦春自治旗| 闽侯县| 佛坪县| 临邑县| 当涂县| 富宁县| 扎囊县| 台北市| 阜南县| 内黄县| 会同县| 柳林县| 同仁县| 区。| 徐水县| 南昌县| 津南区| 金沙县| 通城县| 克东县| 宜州市| 宜章县| 如东县|