java程序中 遇到这样的错误怎么修改

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:30:53
:\stw\color.java:12: non-static variable this cannot be referenced from a static context
a.addActionListener (new MyListener());
原程序:import java.awt.*;
import java.awt.event.*;
class color {
public static void main(String args[]){
Frame f=new Frame("背景色");
Button a=new Button("红");
Button b=new Button("黄");
Button c=new Button("蓝");
f.add(a);
f.add(b);
f.add(c);
a.addActionListener (new MyListener());
f.setLayout(new FlowLayout());
f.setSize(300,300);
f.setVisible(true);
}
class MyListener implements ActionListener{

public void actionPerformed(ActionEvent e){
Frame f;
if(e.getActionCommand()=="红")
f.setBackground(Color.red);

if(e.getActionCommand()=="黄")
f.setBackground(Color.yellow);

if(e.

import java.awt.*;
import java.awt.event.*;

class color {
class MyListener implements ActionListener {

public void actionPerformed(ActionEvent e) {
Frame f=null;
if (e.getActionCommand() == "红")
f.setBackground(Color.red);

if (e.getActionCommand() == "黄")
f.setBackground(Color.yellow);

if (e.getActionCommand() == "蓝")
f.setBackground(Color.blue);
}

}
public static void main(String args[]) {
Frame f = new Frame("背景色");
Button a = new Button("红");
Button b = new Button("黄");
Button c = new Button("蓝");
f.add(a);
f.add(b);
f.add(c);
a.addActionListener(new color().new MyListener());
f.setLayout(new FlowLayout());
f.setSize(300, 300);
f.setVisible(true);
}

}
__________________________________