JAVA鼠標監聽器


1 package howework_07;
2 public class Example9_10 {
3     public static void main(String args[]) {
4             WindowMouse win=new WindowMouse();
5             win.setTitle("處理鼠標事件");
6             win.setBounds(100,100,460,360);
7     }
8 }
主類
 1 package howework_07;
 2 import java.awt.FlowLayout;
 3 import javax.swing.JButton;
 4 import javax.swing.JFrame;
 5 import javax.swing.JScrollPane;
 6 import javax.swing.JTextArea;
 7 import javax.swing.JTextField;
 8 public class WindowMouse extends JFrame{
 9     JTextField text;
10     JButton button;
11     JTextArea textArea;
12     MousePolice police;
13     WindowMouse(){//在窗口的構造函數中把組件實例化
14         init();
15         setVisible(true);
16         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
17     }
18     void init() {
19         setLayout(new FlowLayout());//將面板的布局設置為FlowLayout,面板上增加的組件默認是按照從左到右順序排列
20         text =new JTextField(8);
21         textArea =new JTextArea(5,28);
22         police =new MousePolice();
23         
24         police.setJTextArea(textArea);
25         
26         text.addMouseListener(police);//事件源注冊監聽器
27         button =new JButton("按鈕");
28         button.addMouseListener(police);//事件源注冊監聽器
29         //向窗口中加入組件
30         addMouseListener(police);
31         add(button);
32         add(text);
33         add(new JScrollPane(textArea));//滾動條
34     }
35 }
WindowMouse
 1 package howework_07;
 2 
 3 import java.awt.event.MouseEvent;
 4 import java.awt.event.MouseListener;
 5 
 6 import javax.swing.JButton;
 7 import javax.swing.JTextArea;
 8 import javax.swing.JTextField;
 9 
10 public class MousePolice implements MouseListener{
11     JTextArea area;//文本
12     public void setJTextArea(JTextArea area) {
13         this.area=area;
14     }
15     public void mousePressed(MouseEvent e) {
16         area.append("\n鼠標按下,位置:"+"("+e.getX()+","+e.getY()+")");
17     }//JTextArea中有append(),而JTextFiled中只有setText()
18     public void mouseReleased(MouseEvent e) {
19         area.append("\n鼠標釋放,位置:"+"("+e.getX()+")"+e.getY()+")");
20     }
21     public void mouseEntered(MouseEvent e) {
22         if(e.getSource() instanceof JButton) {
23             area.append("\n鼠標進入按鈕,位置:"+"("+e.getX()+","+e.getY()+")");
24         }
25         if(e.getSource() instanceof JTextField)
26             area.append("\n鼠標進入文本框,位置:"+"("+e.getX()+","+e.getY()+")");
27         if(e.getSource() instanceof JTextField)
28             area.append("\n鼠標進入窗口,位置:"+"("+e.getX()+","+e.getY()+")");
29     }
30     public void mouseExited(MouseEvent e) {
31         area.append("\n鼠標退出,位置:"+"("+e.getX()+","+e.getY()+")");
32     }
33     public void mouseClicked(MouseEvent e) {
34         if(e.getClickCount()>=2) 
35             area.setText("鼠標連擊,位置:"+"("+e.getX()+","+e.getY()+")");
36     }
37 }
MousePolice

 java中鼠標監聽器的用法;

首先創建一個類來實現鼠標監聽器接口,然后對鼠標監聽器的各種函數進行重載,以實現相關的操作。

然后對於需要添加監聽器的組件,注冊監聽器   ().addMouseListener( )其中第一個括號為組件,后面為鼠標監聽器的一個實例化的對象。

同時要記得把各個組件和鼠標監聽器添加到窗口中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM