你所说的这个模型是java1使用的事件模型,java2中已经被淘汰了。
在使用这个模型时不用添加监听器,只需要重载对应的事件处理方法就可以了。利用事件监听器处理事件是java2中的事件处理模型,和你的方法就不一样了。
对于事件模型1,你去掉你有问题的那句话就可以,对于事件模型2,你使用下面的方法:
import java.awt.*;
import java.awt.event.*;public class SL275 extends Frame
{
public static void main(String[] args)
{
SL275 s=new SL275();
}
public SL275()
{
Button mbtn=new Button("MyBtn");
mbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Explicit Enabling Event");
}
}); // ???就是这里,这句应该怎么写呢?
add(mbtn);
setBounds(100,100,200,200);
setVisible(true);
}
}
在使用这个模型时不用添加监听器,只需要重载对应的事件处理方法就可以了。利用事件监听器处理事件是java2中的事件处理模型,和你的方法就不一样了。
对于事件模型1,你去掉你有问题的那句话就可以,对于事件模型2,你使用下面的方法:
import java.awt.*;
import java.awt.event.*;public class SL275 extends Frame
{
public static void main(String[] args)
{
SL275 s=new SL275();
}
public SL275()
{
Button mbtn=new Button("MyBtn");
mbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Explicit Enabling Event");
}
}); // ???就是这里,这句应该怎么写呢?
add(mbtn);
setBounds(100,100,200,200);
setVisible(true);
}
}
import java.awt.*;
import java.awt.event.*;public class SL275 extends Frame
{
public static void main(String[] args)
{
SL275 s=new SL275();
}
public SL275()
{
MyBtn mbtn=new MyBtn("MyBtn");
mbtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Explicit Enabling Event!");
}
}); // ???就是这里,这句应该怎么写呢?
add(mbtn);
setBounds(100,100,200,200);
setVisible(true);
}
}
class MyBtn extends Button
{
public MyBtn(String label)
{
super(label);
enableEvents(AWTEvent.ACTION_EVENT_MASK);
} public void processActionEvent(ActionEvent ae)
{
super.processActionEvent(ae);
System.out.println("Explicit Enabling Event");
}
}