add(p,"Center");add(p2,"South");换成add(p, BorderLayout.CENTER)和add(p2, BorderLayout.SOUTH)

解决方案 »

  1.   

    CardLayout这个布局我没用过,但刚才我帮你测试出来你出错的原因是因为你在使用了这个布局的面板的添加方法中,少传了个字符串参数,也是就add方法需要两个参数,一个字符串参数,一个组件参数。至于那个字符串是干什么用的,那就要请教高人了!
      

  2.   

    哪个字符串是Card的名字,可以使用CardLayout对象(比如你的mycard)的show方法(好像是)加上该字符串来显示指定的Card
      

  3.   

    1:
    p.add(mycanvas[i],"Card"+i);
    //"Card"+i is the name of cards. can be used CardLayout.show;
    //for example, mycard.first() can be replaced by
    //mycard.show(p,"Card1");2:
    add(p, BorderLayout.CENTER), add(p2, BorderLayout.SOUTH) is more appropriate