자바 swing 탭 질문드립니다.
조회수 496회
package a.b.c.swing.exam;
import java.awt.BorderLayout; import java.awt.Label; import java.awt.TextField;
import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTabbedPane; import javax.swing.JTable;
public class JTabbedPaneTest2 extends JFrame {
JPanel mb1;
JPanel mb2;
JPanel mb3;
Label lb1;
Label lb2;
Label lb3;
Label lb4;
Label lb5;
Label lb6;
Label lb7;
Label lbl1;
Label lbl2;
Label lbl3;
TextField tf1;
TextField tf2;
TextField tf3;
TextField tf4;
TextField tf5;
TextField tf6;
TextField tf7;
TextField tfl1;
TextField tfl2;
TextField tfl3;
private static final long serialVersionUID = 1L;
JTabbedPane jtp; // 탭 생성.
public JTabbedPaneTest2() {
super("회원 관리 프로그램");
jtp = new JTabbedPane(JTabbedPane.BOTTOM);
mb1 = pFx1();
mb2 = pFx2();
mb3 = null;
// 판넬을 텝에 삽입.
jtp.addTab("입력", mb1);
jtp.addTab("수정", mb2);
jtp.addTab("삭제", mb3);
getContentPane().add(jtp, BorderLayout.CENTER); // 컴포던트를 배치하고, 배치 방식을 결정한다.
this.setSize(900,900); // 사이즈 결정
this.setVisible(true); // 화면 표시 여부
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new JTabbedPaneTest2();
}
public JPanel pFx1()
{
JPanel p1 = new JPanel();
lb1 = new Label("동물 종류");
lb2 = new Label("동물 나이");
lb3 = new Label("동물 성별");
lb4 = new Label("보호자 이름");
lb5 = new Label("보호자 핸드폰");
lb6 = new Label("보호자 이메일");
lb7 = new Label("보호자 주소");
// 판넬에 삽입.
add(lb1);
add(lb2);
add(lb3);
add(lb4);
add(lb5);
add(lb6);
add(lb7);
tf1 = new TextField();
tf2 = new TextField();
tf3 = new TextField();
tf4 = new TextField();
tf5 = new TextField();
tf6 = new TextField();
tf7 = new TextField();
add(tf1);
add(tf2);
add(tf3);
add(tf4);
add(tf5);
add(tf6);
add(tf7);
lb1.setBounds(40, 10, 80, 40);
lb2.setBounds(40, 50, 80, 40);
lb3.setBounds(40, 90, 80, 40);
lb4.setBounds(40, 130, 80, 40);
lb5.setBounds(40, 170, 80, 40);
lb6.setBounds(40, 210, 80, 40);
lb7.setBounds(40, 250, 80, 40);
tf1.setBounds(160, 10, 200, 30);
tf2.setBounds(160, 50, 200, 30);
tf3.setBounds(160, 90, 200, 30);
tf4.setBounds(160, 130, 200, 30);
tf5.setBounds(160, 170, 200, 30);
tf6.setBounds(160, 210, 200, 30);
tf7.setBounds(160, 250, 200, 30);
return p1;
}
public JPanel pFx2()
{
JPanel p2 = new JPanel();
lbl1 = new Label("회원번호");
lbl2 = new Label("보호자 핸드폰");
lbl3 = new Label("보호자 주소");
// 판넬에 삽입.
add(lbl1);
add(lbl2);
add(lbl3);
tfl1 = new TextField();
tfl2 = new TextField();
tfl3 = new TextField();
add(tfl1);
add(tfl2);
add(tfl3);
lbl1.setBounds(40, 10, 80, 40);
lbl2.setBounds(40, 50, 80, 40);
lbl3.setBounds(40, 90, 80, 40);
tfl1.setBounds(160, 10, 200, 30);
tfl2.setBounds(160, 50, 200, 30);
tfl3.setBounds(160, 90, 200, 30);
return p2;
}
}
저는 각 탭마다 등록, 수정, 삭제 등의 기능을 넣고, 다른 화면을 사용 할 수 있게 하고싶습니다. 하지만 위의 코드를 막상 실행시켜보면 어째선지 모든 탭이 첫번째 등록한 판넬과 같은 내용이 돼 버립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력