[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();
}
}
// 由于监听器的类型是接口类型,
//所以在使用监听器的时候要重写监听器所有的抽象方法
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();
}
}
// 由于监听器的类型是接口类型,
//所以在使用监听器的时候要重写监听器所有的抽象方法
相关文章推荐
- [Java] Mouse/Window/ActionListener 多个事件监听器
- JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法
- JAVA:事件监听器之Button类中的addActionListener(ActionListener l)方法
- 【Java】鼠标监听器MouseListener和MouseMotionListener的使用
- 【Java】鼠标监听器MouseListener和MouseMotionListener的使用
- java-鼠标监听(MouseListener、MouseMotionListener)-鼠标事件(MouseEvent)
- Java监听器Listener入门示例
- Java事件处理机制- 事件监听器的四种实现方式
- JAVA中常用的组件对应的事件类和事件监听器
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-002- 在xml中引用Java配置文件,声明DispatcherServlet、ContextLoaderListener
- Java实现事件监听器的四种方式
- java awt 事件监听器
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
- Java事件处理机制 - 事件监听器的四种实现方式(转)
- 监听器配置,java监听器,登陆监听,Listener,struts监听器配置,用户在线统计
- Hibernate拦截器(Interceptor)与事件监听器(Listener)
- 自定OnClickListener注解,减少点击事件监听器的代码
- Java监听器Listener使用详解
- Java--监听器Listener
- [Java基础笔记]常见事件与监听器部分