久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

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

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

在一個(gè)組件下加入以下語(yǔ)句

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

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

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

②:如果代碼較長(zhǎng),閱讀和維護(hù)起來(lái)麻煩

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

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

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

三:外部類(lèi)寫(xiě)法:

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

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

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

事件方法和其他方法混合在一起,所以應(yīng)加一些注釋來(lái)說(shuō)明。沒(méi)用事件處理方法可以用空來(lái)實(shí)現(xiàn)。如果繼承了了相應(yīng)的事件適配器,則可根據(jù)需要寫(xiě)相應(yīng)的方法,另外需要注意,只有接口才有多繼承的特性,所以如果類(lèi)本身已經(jīng)是一個(gè)子類(lèi),則只有通過(guò)實(shí)現(xiàn)接口的方式來(lái)實(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');}}}}

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

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 灯塔市| 阳泉市| 广元市| 连南| 邛崃市| 定结县| 宜川县| 资源县| 江津市| 海丰县| 公主岭市| 准格尔旗| 林芝县| 连城县| 同德县| 舞钢市| 定西市| 泰和县| 石嘴山市| 江山市| 华阴市| 肃宁县| 长岛县| 云安县| 外汇| 望都县| 宜春市| 迁安市| 克什克腾旗| 准格尔旗| 福安市| 呼和浩特市| 夏邑县| 修水县| 梁平县| 宽甸| 皋兰县| 饶河县| 同德县| 灵丘县| 苍南县|