import java.awt.*;
import java.awt.event.*;
public class TestActionEvent2 {
public static void main(String[] args) {
Frame f = new Frame("Test");/////这里new出来一个对象,必须要调用构造方法,但这了没有调;但默认的构造方法没有参数,这个"test"怎么显示出来,请高手解释一下???
Button b1 = new Button("start");
Button b2 = new Button("stop");
Monitor bh = new Monitor();
b1.addActionListener(bh);
b2.addActionListener(bh);
b2.setActionCommand("game over");
f.add(b1,BorderLayout.NORTH);
f.add(b2,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
class Monitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("a button jbeen pressed"+
"the relative info is:\n" + e.getActionCommand());
}
}
Button b1 = new Button("start");
Button b2 = new Button("stop");
Monitor bh = new Monitor();
b1.addActionListener(bh);
b2.addActionListener(bh);
b2.setActionCommand("game over");
f.add(b1,BorderLayout.NORTH);
f.add(b2,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
}
class Monitor implements ActionListener {
public void actionPerformed(ActionEvent e) {
System.out.println("a button jbeen pressed"+
"the relative info is:\n" + e.getActionCommand());
}
}
------解决方案--------------------
首先不知道你这个程序是怎么通过编译的
"这里new出来一个对象,必须要调用构造方法,但这了没有调;"
不知道你这句问的是什么意思,是说要调用构造方法但没有调用么?构造方法是调用了的,怎么会没调呢
"但默认的构造方法没有参数,这个"test"怎么显示出来,请高手解释一下??? "
默认的是没有参数,但你调用的是有参数的构造方法呀.
Frame有4个构造方法,分别是:
Frame() 构造 Frame 的一个新实例(初始时不可见)。
Frame(GraphicsConfiguration gc) 使用屏幕设备的指定 GraphicsConfiguration 创建一个 Frame。
Frame(String title) 构造一个新的、初始不可见的、具有指定标题的 Frame 对象。
Frame(String title, GraphicsConfiguration gc)构造一个新的、初始不可见的、具有指定标题和GraphicsConfiguration 的 Frame 对象。
------解决方案--------------------
同意LS的
------解决方案--------------------
Frame(String title); //这个就是构造方法,Frame本来就有多个构造方法,不一定非要调用默认构造方法,调用那个构造方法由用户自己决定
------解决方案--------------------
java技术交流,欢迎加入40652189,深入学习java的qq群,探讨新技术