Java学习——67、鼠标事件

对于鼠标,可以单击,可以双击,可以按下,可以放开,本篇介绍鼠标事件。

1、接口

实现鼠标事件的接口为:MouseListener。要实现鼠标事件,必须实现此接口。

2、接口中的方法

本接口中有五个方法,如下:

Public abstract void mouseClicked(MouseEvente); //单击鼠标

public abstract void mouseEntered(MouseEvent e);//鼠标进入

public abstract void mouseExited(MouseEvent e);//鼠标离开

public abstract void mousePressed(MouseEvent e); //鼠标按下

public abstract void mouseReleased(MouseEvent e);//鼠标放开

3、注册鼠标事件的方法为:

public void addMouseListener(MouseListenerlistener);

4、简单例题

本例题简单演示鼠标事件。

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

public class mouseListenerLearn extends JFrame implements MouseListener{

JLabel label1;

JButton b;

JTextArea text;

public  mouseListenerLearn(){

super("鼠标事件");

this.setVisible(true);

this.setLocationRelativeTo(null);

this.setSize(300, 300);

label1=new JLabel("看过来");

this.getContentPane().add(label1,"North");

label1.addMouseListener(this);

b=new JButton("点击");

b.addMouseListener(this);

this.getContentPane().add(b,"South");

text=new JTextArea();

this.getContentPane().add(text);

}

public void mouseClicked(MouseEvente){

if(e.getSource()==b){

int i=e.getClickCount();//判断是单击,双击或是点了多少次

if(i==1)

text.setText("您点击了按钮");

else

text.setText("您点击了"+i+"次");

}

text.append("\n鼠标单击的位置是:"+e.getX()+","+e.getY());

}//单击鼠标

public void mouseEntered(MouseEvente){

label1.setText("点我吧,我会变红色的");

}//鼠标进入

public void mouseExited(MouseEvente){

label1.setText("看过来");

label1.setForeground(Color.green);

}//鼠标离开

public void mousePressed(MouseEvente){

label1.setForeground(Color.red);

}//鼠标按下

public void mouseReleased(MouseEvent e){

label1.setText("看过来");

label1.setForeground(Color.black);

}//鼠标放开

public static void main(String args[]){

new  mouseListenerLearn();

}

}

其运行结果如下:

鼠标挪至标签行,触发mouseEntered事件,标签上的文字被修改,如图:

鼠标按下,触发mousePressed事件,标签上的文字及颜色被修改,如图所示:

鼠标离开,触发mouseExited事件,标签上的文字及颜色被修改。

因为上图为鼠标按下再离开,其实相当于是一次单击,所以同样触发了mouseClicked事件,文本区中显示鼠标单击的位置。

如图所示:

在按钮上单击,触发mouseClicked事件,如图所示:

如果在按钮上连接点击,也触发mouseClicked事件,在文本区中显示不同的文字。

(0)

相关推荐