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( )其中第一个括号为组件,后面为鼠标监听器的一个实例化的对象。

同时要记得把各个组件和鼠标监听器添加到窗口中。

posted @ 2019-12-08 19:20  xzx9  阅读(1080)  评论(0编辑  收藏  举报