我在程序中给你做了一些注释希望你能从中得到一些启发
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent {
public static void main(String args[]) {
Frame f = new Frame("Test");
Button b = new Button("Press Me!");
Monitor bh = new Monitor();//用导出接口的类创建新对象
b.addActionListener(bh);//监视按钮b使用addActionListener方法,参数是刚才创建的对象
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}class Monitor implements ActionListener {
public void actionPerformed(ActionEvent e) {//重写监控的方法
System.out.println("a button has been pressed"); }
}
import java.awt.*;
import java.awt.event.*;
public class TestMultiListener implements MouseMotionListener,MouseListener {
Frame f = new Frame("多重监听器测试");
TextField tf = new TextField(30);
public TestMultiListener(){
f.add(new Label("请按下鼠标左键并拖动"), "North");
f.add(tf, "South");
f.setBackground(new Color(120,175,175));
f.addMouseMotionListener(this);//监视鼠标拖动事件
f.addMouseListener(this);//监视鼠标击键的事件
f.setSize(300, 200); f.setVisible(true);
}//这是一个构造函数,完成窗体的创建和设置,并完成鼠标响应事件
public static void main(String args[]) {
TestMultiListener t = new TestMultiListener();实例化类
} //这是执行函数,在物理上真正实现执行 以下都是鼠标可能产生的事件,这种做法必须把所有事件都写出来
程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
构造函数说明该做什么
public void mouseDragged(MouseEvent e) {
String s = "鼠标拖动到位置(" + e.getX() + "," + e.getY() + ")";
tf.setText(s);
}
public void mouseEntered(MouseEvent e) {
String s = "鼠标已进入窗体";
tf.setText(s);
}
public void mouseExited(MouseEvent e) {
String s = "鼠标已移出窗体";
tf.setText(s);
}
public void mouseMoved(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
}
程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
构造函数说明该做什么
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent {
public static void main(String args[]) {
Frame f = new Frame("Test");
Button b = new Button("Press Me!");
Monitor bh = new Monitor();//用导出接口的类创建新对象
b.addActionListener(bh);//监视按钮b使用addActionListener方法,参数是刚才创建的对象
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}class Monitor implements ActionListener {
public void actionPerformed(ActionEvent e) {//重写监控的方法
System.out.println("a button has been pressed"); }
}
import java.awt.*;
import java.awt.event.*;
public class TestMultiListener implements MouseMotionListener,MouseListener {
Frame f = new Frame("多重监听器测试");
TextField tf = new TextField(30);
public TestMultiListener(){
f.add(new Label("请按下鼠标左键并拖动"), "North");
f.add(tf, "South");
f.setBackground(new Color(120,175,175));
f.addMouseMotionListener(this);//监视鼠标拖动事件
f.addMouseListener(this);//监视鼠标击键的事件
f.setSize(300, 200); f.setVisible(true);
}//这是一个构造函数,完成窗体的创建和设置,并完成鼠标响应事件
public static void main(String args[]) {
TestMultiListener t = new TestMultiListener();实例化类
} //这是执行函数,在物理上真正实现执行 以下都是鼠标可能产生的事件,这种做法必须把所有事件都写出来
程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
构造函数说明该做什么
public void mouseDragged(MouseEvent e) {
String s = "鼠标拖动到位置(" + e.getX() + "," + e.getY() + ")";
tf.setText(s);
}
public void mouseEntered(MouseEvent e) {
String s = "鼠标已进入窗体";
tf.setText(s);
}
public void mouseExited(MouseEvent e) {
String s = "鼠标已移出窗体";
tf.setText(s);
}
public void mouseMoved(MouseEvent e) { }
public void mousePressed(MouseEvent e) { }
public void mouseClicked(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
}
程序中用this就是指鼠标事件发生在窗体内,也可以说鼠标事件发生的范围
main函数虽然只是实例化了一个对象,但这个对象调用了它的构造函数,
构造函数说明该做什么
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货