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事件,在文本区中显示不同的文字。