您当前所在位置:首页 > 计算机等级考试

计算机二级考试Java教程:Java鼠标事件

编辑:

1970-01-01

Java鼠标事件MouseEvent

当在一个组件上按下,释放,点击,移动或拖动鼠标时就会产生鼠标事件。MouseEvent对象捕获这个事件.

MouseEvent类继承InputEvent类,所以MouseEvent对象可以使用InputEvent类中定义的方法。

java.awt.point类表示一个点,该类包含两个用来表示坐标的公共变量x和y。

为了创建一个point,可以使用Point(int x,int y)

InputEvent类中的方法:

getWhen(): long 返回事件发生的时间

isAltDown(): boolean 如果按下alt返回true

isControlDown(): boolean 如果按下ctrl返回true

isShiftDown(): boolean 如果按下shift返回true

MouseEvent类中的方法:

getButton(): int 表明是否点击鼠标按钮

getClickCount(): int 返回相关事件的鼠标点击数

getPoint(): java.awt.point 返回包含X坐标和Y坐标的point对象

getX():int 返回鼠标点的X

getY(): int 返回鼠标点的Y

java提供了两个处理鼠标事件的监听器接口MouseListener和MouseMotionListener。

实现MouseListener接口可以监听鼠标的按下,释放,输入,退出和点击动作。

实现MouseMotionListener接口可以监听拖动鼠标和鼠标的移动动作。

mousePressed(e: MouseEvent): void 在源组件上按下鼠标按钮

mouseReleased(e: MouseEvent): void 释放源组件上的鼠标按钮

mouseClicked(e: MouseEvent): void 在源组件上点击鼠标按钮

mouseEntered(e: MouseEvent): void 在鼠标进入源组件之后被调用

mouseExited(e: MouseEvent): void 在鼠标退出源组件之后被调用

mouseDragged(e: MouseEvent): void 按下按钮移动鼠标按钮之后被调用

mouseMoved(e: MouseEvent): void 不按住按钮移动鼠标之后被调用

实现一个程序,在面板中显示一条信息,可以用鼠标移动这条信息,信息会随着鼠标的移动而移动,信息总是显示在指针处。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class MoveMessageDemo extends JFrame {
        public MoveMessageDemo(){
              MovableMessagePanel p = new MovableMessagePanel("Welcome to java" );
              setLayout( new BorderLayout());
              add(p);

              

       }

       

        public static void main(String[] args)
       {
              MoveMessageDemo frame = new MoveMessageDemo();
              frame.setTitle( "MoveMessageDemo");
              frame.setSize(200,100);
              frame.setLocationRelativeTo( null);
              frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
              frame.setVisible( true);
       }

       

        static class MovableMessagePanel extends JPanel{
               private String message = "Welcome to java" ;
               private int x = 20;
               private int y = 20;

              

               public MovableMessagePanel(String s){
                      message = s;
                     addMouseMotionListener( new MouseMotionAdapter(){
                            public void mouseDragged(MouseEvent e){
                                   x = e.getX();
                                   y = e.getY();
                                  repaint();
                           }
                     });
              }

              

               protected void paintComponent(Graphics g){
                      super.paintComponent(g);
                     g.drawString( message, x, y);
              }

              

       }
}

想要查阅计算机二级Java备考信息,请时刻关注Java栏目查阅~

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。