回 帖 发 新 帖 刷新版面

主题:[讨论]报错了,高手帮忙

public class cardlayout extends Frame implements ActionListener{
    //去掉Panel num;
    CardLayout lay=new CardLayout();
    
    public cardlayout(){
        setLayout(new BorderLayout());
        
        Panel k=new Panel();
        Button button=new Button("切换");
        button.addActionListener(this);
        k.add(button);
        add("North",k);
        k.setBackground(Color.blue);
        
        
        Panel p1=new Panel();
        p1.setLayout(new GridLayout());
        p1.add(new Button("老婆"));
        p1.add(new Button("爱你"));
        p1.add(new Button("亲亲"));
        p1.add(new Button("xiaojiji"));
        p1.setBackground(Color.yellow);
        
        
        Panel p2=new Panel();
        p2.add(new TextField("nainia",20));
        p2.setBackground(Color.red);
        
        Panel p3=new Panel();
        p3.add(new TextField("kanjiji",20));
        p3.setBackground(Color.black);
        
                
               Panel num=new Panel();报错
        num.setLayout(lay);
        num.add("see me",p1);
        num.add("nee",p2);
        num.add("kan",p3);
        
        add("Center",num);
    }
    
    public void actionPerformed(ActionEvent e){
        lay.next(num);
    }
    
    
    public static void main(String args[]){
        cardlayout window=new cardlayout();
        window.pack();
        window.show();
        window.setBackground(Color.green);
    }
}
去掉上面的,怎么会报错呢

回复列表 (共2个回复)

沙发



去掉Panel num 这个属性 
  public void actionPerformed(ActionEvent e){
            lay.next(num);
        }
在这个方法里 num 就没有声明了

板凳


那你的意思是public void actionPerformed(ActionEvent e){
            lay.next(num);
                   
)
        
中的num是Panel num中的,不是Panel num=new Panel()中的啊,我是初学的,不懂为什么,答案是知道,我就是不理解,谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册