请帮忙看下这代码哪错了啊,我是新手搞不懂啊,弄了半天了!
import java.awt.*;
import java.awt.event.*;
public class MyButton {
  public static void main(String[] args) {
   MyFrame f=new MyFrame();
   f.show();
  }
}
class MyFrame extends Frame{
  public MyFrame(){
    setTitle("测试按钮");
    setSize("200,300");
    MB p=new MB();
    add(p);
  }
}
class MB extends Panel{
  public MB(){
    MB a=new MB("蓝色");
    MB b=new MB("红色");
    MB c=new MB("黄色");
    add(a);
    add(b);
    add(c);
    MLA a1=new MLA("blue");
    MLA b1=new MLA("red");
    MLA c1=new MLA("yellow");
    a.addActionListener(a1);
    b.addActionListener(b1);
    c.addActionListener(c1);
    
  }private class MLA implements ActionListener{
  private Color bgColor;
  public MLA(Color c){
    bgColor=c;
  }public void actionPerformed(ActionEvent event){
  setBackground(bgColor);
  }
}
}

解决方案 »

  1.   

    这个程序在定义MyFrame类,在构找函数中,向其中添加Panel对象的时候错了!
    你没有预先得到一个容器
    应该这样写:
    class MyFrame extends Frame{
      public MyFrame(){
        Container container = this.getContentPane();
        setTitle("测试按钮");
        setSize("200,300");
        MB p=new MB();
        container.add(p);
      }
    这段code 仅提供参考!!!
    }