JAVA的MouseListener监听器

您所在的位置:网站首页 mouse3 JAVA的MouseListener监听器

JAVA的MouseListener监听器

2023-02-25 03:53| 来源: 网络整理| 查看: 265

------------------------------------------------------原帖链接-------------------------------------------------------

--------------------------------------------------------上一篇链接--------------------------------------------------

MouseListener 【一】 KeyListener(1)鼠标监听事件基本用法(2)鼠标的 [左键] [右键] [中间] 实现 【二】项目实例< 做我女朋友好吗小程序?> 【3】下一篇

【一】 KeyListener (1)鼠标监听事件基本用法

书写格式

MouseListener mouse = new MouseListener() { @Override public void mouseReleased(MouseEvent e) { //鼠标按下后释放触发 } @Override public void mousePressed(MouseEvent e) { //鼠标按下时触发 } @Override public void mouseExited(MouseEvent e) { //鼠标的光标移出到组件触发 } @Override public void mouseEntered(MouseEvent e) { //鼠标的光标移动到组件触发 } @Override public void mouseClicked(MouseEvent e) { //鼠标发生单机事件时触发 } };

作用 上面MouseListener接口实现了5个方法 当鼠标 中的其中一个按下或者释放时就会被触发

package key; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFrame; public class Mouse1 { public Mouse1() { JFrame jframe = new JFrame(); jframe.setSize(600, 600); //设置窗体大小 jframe.setLocationRelativeTo(null); //设置居中显示 JButton jbutton = new JButton("按钮"); //添加按钮 jbutton.addMouseListener(mouse); //为按钮添加监听对象 jframe.getContentPane().add(jbutton); //获得容器,将按钮添加到容器中 jframe.setVisible(true); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } MouseListener mouse = new MouseListener() { @Override public void mouseReleased(MouseEvent e) { System.out.println("鼠标释放"); //鼠标按下后释放触发 } @Override public void mousePressed(MouseEvent e) { System.out.println("鼠标按下"); //鼠标按下时触发 } @Override public void mouseExited(MouseEvent e) { System.out.println("光标移除"); //鼠标的光标移出到组件触发 } @Override public void mouseEntered(MouseEvent e) { System.out.println("光标移动到组件"); //鼠标的光标移动到组件触发 } @Override public void mouseClicked(MouseEvent e) { System.out.println("鼠标发生过单机事件"); //鼠标发生单机事件时触发 } }; public static void main(String[] args) { new Mouse1(); } }

GIF演示 在这里插入图片描述

(2)鼠标的 [左键] [右键] [中间] 实现 鼠标常量值表示的键位1表示鼠标左键2表示鼠标中键3表示鼠标右键 获取鼠标e的方法作用e.getButton()返回一个int值,对应的鼠标键e.ClickCount()获取鼠连续 的单机次数e.getX()获取鼠标的宽X位置e.getY()获取鼠标高Y的位置e.getSource()获取触发此组件的对象是 package key; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFrame; public class Mouse2 { public Mouse2() { JFrame jframe = new JFrame(); jframe.setSize(600, 600); //设置窗体大小 jframe.setLocationRelativeTo(null); //设置居中显示 jframe.setLayout(null); JButton jbutton = new JButton("按钮"); //添加按钮 jbutton.setBounds(100, 100, 200, 200); //设置鼠标位置(100, 100)像素,大小为(200, 200)像素 jbutton.addMouseListener(mouse); //为按钮添加监听对象 jframe.getContentPane().add(jbutton); //获得容器,将按钮添加到容器中 jframe.setVisible(true); jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } MouseListener mouse = new MouseListener() { @Override public void mouseReleased(MouseEvent e) { //鼠标按下后释放触发 } @Override public void mousePressed(MouseEvent e) { //鼠标按下时触发 switch(e.getButton()) { //e.getButton()返回数字1, 2, 3,分别表示鼠标左键, 鼠标中键, 鼠标右键 case 1: System.out.print(""); System.out.print(""); System.out.print("\n"); break; case 2: System.out.print(""); System.out.print(""); System.out.print("\n"); break; case 3: System.out.print(""); System.out.print(""); System.out.print("\n"); break; default:break; } } @Override public void mouseExited(MouseEvent e) { //鼠标的光标移出到组件触发 } @Override public void mouseEntered(MouseEvent e) { //鼠标的光标移动到组件触发 } @Override public void mouseClicked(MouseEvent e) { //鼠标发生单机事件时触发 } }; public static void main(String[] args) { new Mouse2(); } }

上面代码在mousePressed中写入方法 下面是Gif执行效果

在这里插入图片描述

上面单击点击和连续点击返回的值是不同的

【二】项目实例 < 做我女朋友好吗小程序?>

< 配置图片>

在这里插入图片描述

下面是代码示例

package key; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; public class Mouse3 { ImageIcon image = new ImageIcon("src/ax.jpg"); public Mouse3() { JFrame jframe = new JFrame(); jframe.setSize(image.getIconWidth(), image.getIconHeight()); jframe.setLocationRelativeTo(null); //窗口剧中 jframe.setResizable(false); //设置窗口不可调整 //----------------------------------------------------------------- jframe.addWindowListener(new WindowListener() {//窗口监听事件 @Override public void windowOpened(WindowEvent e) { } @Override public void windowIconified(WindowEvent e) { } @Override public void windowDeiconified(WindowEvent e) { } @Override public void windowDeactivated(WindowEvent e) { } @Override public void windowClosing(WindowEvent e) { //点击窗口右上角的'x'图标时关闭时触发 JOptionPane.showMessageDialog(null,"不做我女朋友别想退出来?"); //窗口关闭时弹出 } @Override public void windowClosed(WindowEvent e) { } @Override public void windowActivated(WindowEvent e) { } }); //----------------------------------------------------------------- JLabel jlabel = new JLabel(); //创建标签 jlabel.setIcon(image); //添加图片 jlabel.setLayout(null); //设置标签布局 JButton jbutton1 = new JButton("不愿意"); //创建按钮 jbutton1.setSize(100, 60); //设置按钮大小 jbutton1.setContentAreaFilled(false); //按钮设置为透明 jbutton1.setLocation(300, 50); //按钮位置 JButton jbutton2 = new JButton("愿意"); jbutton2.setSize(100, 60); jbutton2.setContentAreaFilled(false); jbutton2.setLocation(430, 50); jlabel.add(jbutton1); //按钮加入到标签组 jlabel.add(jbutton2); Random random = new Random(); //随机类 //----------------------------------------------------------------- jlabel.addMouseListener(new MouseListener() {//鼠标监听事件 @Override public void mouseReleased(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { } @Override public void mouseExited(MouseEvent arg0) { jbutton1.setLocation(random.nextInt(500), random.nextInt(460)); //通过获取随机数来重新设置按钮位置 } @Override public void mouseEntered(MouseEvent arg0) { } @Override public void mouseClicked(MouseEvent arg0) { } }); //----------------------------------------------------------------- jbutton2.addActionListener(new ActionListener() { //为按钮添加AcctionListener监听事件 @Override public void actionPerformed(ActionEvent e) { System.exit(0);//但选择按钮为"愿意",退出程序 } }); //----------------------------------------------------------------- jframe.getContentPane().add(jlabel);//标签加入到容器中 jframe.setVisible(true); jframe.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); //关闭方式JFrame.DO_NOTHING_ON_CLOSE } public static void main(String[] args) { new Mouse3(); } }

GIF演示

在这里插入图片描述

【3】下一篇

--------------------------------------------------KeyListener--------------------------------------------------------



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3