import java.awt.*;
import java.awt.event.*;
public class TestActionEvent2 extends Frame{
public static void main(String args[]){
Button b1=new Button("start");
Button b2=new Button("stop");
Monitor bh=new Monitor();
b1.addActionListener(bh);
b2.addActionListener(bh);
b2.setActionCommand("dfsdf ds");
add(b1);
add(b2);
pack();
setVisible(true);
}
}
class Monitor implements ActionListener{
public void actionPerform(ActionEvent e){
System.out.println("a button are pressed"+
"is"+e.getActionCommand());
}
}
import java.awt.event.*;
public class TestActionEvent2 extends Frame{
public static void main(String args[]){
Button b1=new Button("start");
Button b2=new Button("stop");
Monitor bh=new Monitor();
b1.addActionListener(bh);
b2.addActionListener(bh);
b2.setActionCommand("dfsdf ds");
add(b1);
add(b2);
pack();
setVisible(true);
}
}
class Monitor implements ActionListener{
public void actionPerform(ActionEvent e){
System.out.println("a button are pressed"+
"is"+e.getActionCommand());
}
}
先把比较合理的写法发上
import java.awt.*;
import java.awt.event.*;
public class TestActionEvent2 extends Frame{
public TestActionEvent2()
{
Button b1=new Button("start");
Button b2=new Button("stop");
Monitor bh=new Monitor();
b1.addActionListener(bh);
b2.addActionListener(bh);
b2.setActionCommand("dfsdf ds");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
);
add(b1);
add(b2);
pack();
setVisible(true); }
public static void main(String args[]){
TestActionEvent2 e=new TestActionEvent2();
}
class Monitor implements ActionListener{
public void actionPerformed(ActionEvent e){
System.out.println("a button are pressed"+
"is"+e.getActionCommand());
}
}
}
错误:
add(b1);
add(b2);
pack();
setVisible(true);
这些方法都不是静态方法,而main方法是静态方法,不能在静态方法中直接调用非静态方法
public void actionPerform(ActionEvent e){
System.out.println("a button are pressed"+
"is"+e.getActionCommand());
}
事件响应方法名错误,没有实现覆盖作用
楼主可以将程序和上面的程序对比,看看哪些地方不对
建议楼主最好先找个书上的程序比着写下,理解下程序结构,再着手写自己的程序