您的位置:首页 > 编程语言 > Java开发

[Java] Mouse/Window/ActionListener 多个事件监听器

2011-04-13 16:42 585 查看
import java.awt.*;
import java.awt.event.*;

public class MultiListenerTest implements ActionListener, MouseListener,MouseMotionListener,WindowListener{

Frame f = new Frame("MultiListenerTest");
Button b = new Button("退出");
Label l = new Label("请按下鼠标左键并拖动");
TextField tf = new TextField(40);

//创建一个方法
public void Start(){
b.addActionListener(this); //给按钮添加监听事件
f.add(l,BorderLayout.NORTH);//添加组件并进行布
f.add(tf,BorderLayout.SOUTH);//添加组件并进行布
f.add(b,BorderLayout.EAST);//添加组件并进行布局
f.setBackground(Color.CYAN);//设置frame的颜色
f.addMouseListener(this); // 给frame添加MouseListener事件
f.addMouseMotionListener(this);//给frame添加MouseMotionListener事件
f.addWindowListener(this);//给frame添加 WindowListener 事件
f.setLocationByPlatform(true);
f.setSize(400,300);
f.setVisible(true);
}

//重写ActionListener中的actionPerformed(ActionEvent e) 方法
public void actionPerformed(ActionEvent e){
System.exit(1);//退出窗口,关闭窗口
}
//重写MouseMotionListener中mouseDragged(MouseEvent e)方法
public void mouseDragged(MouseEvent e){
String str = "鼠标位置为: X="+e.getX() + ", Y="+e.getY();
tf.setText(str);
}
//重写MouseListener中的mouseEntered(MouseEvent e)方法
public void mouseEntered(MouseEvent e){
String str = "鼠标进入窗体X="+e.getX()+", Y="+e.getY();
tf.setText(str);
}
//重写MouseListener中的mouseExited(MouseEvent e)
public void mouseExited(MouseEvent e){
String str = "鼠标退出窗体";
tf.setText(str);
}
//重写MouseListener中的mouseMoved(MouseEvente e)方法
public void mouseMoved(MouseEvent e){
String str = "鼠标进入窗体X="+e.getX()+", Y="+e.getY();
tf.setText(str);
}
//重写MouseListener中的 mousePressed(MouseEvente e)方法
public void mousePressed(MouseEvent e){
}
//重写MouseListener中的 mouseClicked(MouseEvente e)方法
public void mouseClicked(MouseEvent e){
}
//重写MouseListener中的 mouseReleased(MouseEvente e)方法
public void mouseReleased(MouseEvent e){
}

//下面的是重写WindowListener中的所有的抽象方法
public void windowActivated(WindowEvent e){
}
public void windowClosed(WindowEvent e){
}
public void windowClosing(WindowEvent e){
System.exit(0);//关闭窗口
}
public void windowDeactivated(WindowEvent e){
}
public void windowDeiconified(WindowEvent e){
}
public void windowIconified(WindowEvent e){
}
public void windowOpened(WindowEvent e){
}

// 创建main方法,
public static void main(String[] args){
new MultiListenerTest().Start();
}
}
// 由于监听器的类型是接口类型,
//所以在使用监听器的时候要重写监听器所有的抽象方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: