一、首先我们一起来看一下效果图:
二、接下来,我们直接来看源文件:
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,希望与大家一起讨论交流,欢迎添加!!