溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

詳解JAVA中SWT事件四種寫法

發(fā)布時(shí)間:2020-07-18 11:34:40 來源:億速云 閱讀:153 作者:小豬 欄目:開發(fā)技術(shù)

小編這次要給大家分享的是詳解JAVA中SWT事件四種寫法,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

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

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

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

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

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

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

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

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

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

三:外部類寫法:

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

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

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

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

看完這篇關(guān)于詳解JAVA中SWT事件四種寫法的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI