鼠标事件(Java)

一、首先我们一起来看一下效果图:

二、接下来,我们直接来看源文件:

package test;

import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.LineBorder;

public class Mouse extends JFrame {// 继承窗体类JFrame

	public static void main(String[] args) {
		Mouse m = new Mouse();
		m.setVisible(true);// 设置窗体可见,默认为不可见

	}

	public Mouse() {
		super();// 继承父类得构造方法
		setTitle("鼠标事件案例");// 设置窗体的标题
		setBounds(100, 100, 473, 321);// 设置窗体的位置及大小
		// 设置窗体关闭动作的按钮为退出
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		getContentPane().setLayout(null);

		final JLabel l = new JLabel();
		l.setBounds(244, 57, 160, 141);
		l.setBorder(new LineBorder(Color.RED, 2));

		getContentPane().add(l);

		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(32, 27, 183, 216);
		getContentPane().add(scrollPane);

		JTextArea textArea = new JTextArea();
		scrollPane.setViewportView(textArea);

		JLabel l_1 = new JLabel("鼠标点击区域");
		l_1.setBounds(281, 32, 84, 15);
		getContentPane().add(l_1);

		l.addMouseListener(new MouseListener() {

			@Override
			public void mouseReleased(MouseEvent e) {// 按键释放
				textArea.append("按键被释放\n");

			}

			@Override
			public void mousePressed(MouseEvent e) {// 按键按下
				textArea.append("按键被点击\n");

			}

			@Override
			public void mouseExited(MouseEvent e) {// 鼠标退出
				textArea.append("鼠标退出组件\n");

			}

			@Override
			public void mouseEntered(MouseEvent e) {// 鼠标进入
				textArea.append("鼠标进入组件\n");
			}

			@Override
			public void mouseClicked(MouseEvent e) {// 鼠标点击

				// textArea.append("鼠标按键被点击了\n");
				int count = e.getClickCount();// 鼠标点击次数
				textArea.append("鼠标按键被点击了" + count + "次\n");

				int btn = e.getButton();// 获取用户点击的是哪个键
				switch (btn) {
				case MouseEvent.BUTTON1: {// 鼠标左键
					textArea.append("点击了鼠标左键\n");
					break;
				}
				case MouseEvent.BUTTON2: {// 鼠标滚轮键
					textArea.append("点击了鼠标滚轮键\n");
					break;
				}
				case MouseEvent.BUTTON3: {// 鼠标右键
					textArea.append("点击了鼠标右键\n");
					break;
				}
				default: {
					textArea.append("未知操作\n");
					break;
				}
				}

			}
		});
	}

}

三、本人QQ:768946914,也在学习Java,希望与大家一起讨论交流,欢迎添加!!

猜你喜欢

转载自blog.csdn.net/weixin_42449711/article/details/81070501