[질문] CardLayout 질문 드립니다.
에일린
awt 는 아래와 같은 방법으로 하면 잘되던데 ..
스윙에서 어떻게 해야 하는지 몰르겠어요..
exception in thread main java.lang.illegalargumentexception : wrong parent for cardlayout이란 에러가 뜨는데요...
cl.show(this,1); 이부분의 파라마터 값이 잘 못됐다는거 같은데...ㅜㅜ
오늘 하루종일 이거와 씨름하고 있네요...
아래는 현재 짜고 있는거...간추려 놓았습니다. cardlayout 부분만...
혹시나 코드 전체가 문제가 있는건아닌가 했더니 아래와 같이 추렸는데도같은에러가 나더라구요.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;class test{
public static void main(string[] args){
frame f =new frame();
f.setsize(300,400);
f.show();
}
}
class p1 extends jpanel{
jbutton b;
public p1(){
b = new jbutton(클릭!);
this.add(b);
}
}
class p2 extends jpanel{
jbutton b;
public p2(){
b = new jbutton(클릭!);
this.add(b);
}
}
class frame extends jframe{
cardlayout cl;
p1 pb;
p2 pa;
public frame(){
cl = new cardlayout();
this.getcontentpane().setlayout(cl);
pb = new p1();
pa = new p2();
this.getcontentpane().add(pb,1);
this.getcontentpane().add(pa,2);
cl.show(this,1);
}
}
-
민트향
아 그렇군요 . 답변 갑사합니다.^^ 스윙은 써본적이 없어서 서실 getContentPane 이 어떤녀석인지도 모르고 갖다 썼어요...ㅜㅜ 정말 감사합니다~
-
연분홍
show에서 this를 넣으셨네요, getContentPane에 add 하셨으니 parent는 this.getContentPane()이겠죠