JAVA的MouseListener监听器 |
您所在的位置:网站首页 › mouse3 › JAVA的MouseListener监听器 |
------------------------------------------------------原帖链接------------------------------------------------------- --------------------------------------------------------上一篇链接-------------------------------------------------- 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演示 上面代码在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演示 --------------------------------------------------KeyListener-------------------------------------------------------- |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |