我們在進行java的GUI開發的時候,按鈕以及鼠標監聽的使用無疑是相當最要的,而如何巧妙的運用這些監聽器,對今後的開發更是有很大的幫助,下面將分別介紹。
實現按鈕監聽的方法:
在java.awt.event下面有一個ActionListener的類,它是一個用於接收操作事件的偵聽器接口,對處理操作事件感興趣的就可以去使用這個接口。
首先我們需要寫一個類去實現這個接口,然後對我們的JButton對象添加按鈕響應,最後再給這個按鈕添加監聽器,具體代碼如下:
JButton bu=new JButton("按鈕"); bu.setActionCommand("press");//設置按鈕響應 bu.addActionListener(listener);//添加按鈕監聽 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; publicclass MyActionListener implements ActionListener{ publicvoid actionPerformed(ActionEvent e){ String com=e.getActionCommand();//得到按鈕響應 if(com.equals("press")){ System.out.println("點擊了"); } } }
查看本欄目
當然,可以通過匿名內部類的方法來給按鈕添加監聽,這裡就不再詳細介紹了,需要注意的是,每個按鈕都可以通過設置獨立的按鈕響應來實現不同按鈕之間的功能。是不是很方便呢?
講完了按鈕響應,接下來就來介紹一下鼠標響應,我們可以在窗體上通過鼠標實現各種功能,如畫圖板,五子棋,鼠標游戲等等,這是GUI中一個非常重要的點,學好了這個對今後的各種應用開發都有極大的幫助。
廢話不多說,下面就來做一做吧:
首先,實現鼠標監聽有兩種方法,一是實現java.awt.MouseListener類,這是一個用於接收組件上“感興趣”的鼠標事件(按下、釋放、單擊、進入或離開)的偵聽器接口,同樣要用上面ActionListener的實現方法,具體如下:
import java.awt.event.MouseEvent; import java.awt.event.MouseListener; publicclass MyMouseListener implements MouseListener{ //鼠標點擊事件 publicvoid mouseClicked(MouseEvent e){ System.out.println("mouseClicked"); } //鼠標按下事件 publicvoid mousePressed(MouseEvent e){ System.out.println("mousePressed"); } //鼠標釋放事件 publicvoid mouseReleased(MouseEvent e){ System.out.println("mouseReleased"); } //鼠標進入事件 publicvoid mouseEntered(MouseEvent e){ System.out.println("mouseEntered"); } //鼠標離開事件 publicvoid mouseExited(MouseEvent e){ System.out.println("mouseExited"); } }
當然,這個時候我們是要向窗體添加監聽,所以應該對窗體使用addMouseListener()的方法,不過這個方法代碼太過於冗長,而且其中的一些方法並不是我們每次都會用上,那麼下面還有一種方法,是通過實現MouseAdapter類來實現的,這是一個抽象類,可以通過其他類繼承它來實現,我們可以查看他的源碼:
public abstract class MouseAdapter implements MouseListener, MouseWheelListener, MouseMotionListener
我們發現,這個抽象類實現了三個接口,MouseListener,MouseWheelListener以及MouseMotionListener,所以這個抽象類也就實現了這三個類中的所有方法,而且在使用的時候,我們可以只寫出自己需要使用的方法,是不是感覺更加靈活呢?具體的使用,我會在簡易畫圖板的制作中提到,大家不妨試一下吧。