java怎样注册监听
来源:百度知道 编辑:UC知道 时间:2024/05/29 09:26:09
//麻烦给看一下 激活组件 谢谢
import java.awt.*;
import java.awt.event.*;
public class a01 implements ActionListener {
public static void main(String[] args)
{
jdm();
}
public static void jdm ()
{
Panel d; //控制组件
Frame f=new Frame("矿质营养诊断系统");
f.setLayout(new GridLayout(4,1,20,20));
d=new Panel();
d.setLayout(new FlowLayout());
Button b1=new Button(" 结果 ");
d.add(b1);
//D1.addActionListener(new Listener());
b1.addActionListener();
Button D2=new Button(" 存盘 ");
d.add(D2);
f.add(d);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setLocation(200,100);
f.setSize(800,600);
f.setVisible(true);
}
import java.awt.*;
import java.awt.event.*;
public class a01 implements ActionListener {
public static void main(String[] args)
{
jdm();
}
public static void jdm ()
{
Panel d; //控制组件
Frame f=new Frame("矿质营养诊断系统");
f.setLayout(new GridLayout(4,1,20,20));
d=new Panel();
d.setLayout(new FlowLayout());
Button b1=new Button(" 结果 ");
d.add(b1);
//D1.addActionListener(new Listener());
b1.addActionListener();
Button D2=new Button(" 存盘 ");
d.add(D2);
f.add(d);
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.setLocation(200,100);
f.setSize(800,600);
f.setVisible(true);
}
如果我没记错的话,当你采用实现ActionListener接口的方式添加AcitonListener时。
b1.addActionListener();
应该修改为:
b1.addActionListener(this);
我晕,你这个jdm()不能是static,static方法里不能使用实例,所以不能使用this关键字。this表示当前实例,而static方法不属于任何实例,只属于这个类,所有这个类的实例都共享一个副本。
你要修改一下,把jdm()的static去掉。
然后把main()再改一下,因为main()是static不能直接调用非静态的方法。
所以改成
public static void main(String[] args){
a01 a=new a01();
a.jdm();
}