您好,登錄后才能下訂單哦!
小編這次要給大家分享的是詳解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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。