import java.awt.*;
import javax.swing.*;
public class Exam29 extends JFrame {
private Label lb = new Label("좋아하는 과일을 선택하세요."); // Default가 왼쪽 정렬임
private Checkbox a_cb = new Checkbox("사과");
private Checkbox b_cb = new Checkbox("딸기");
private Checkbox c_cb = new Checkbox("배");
private Label gel = new Label("성별");
private CheckboxGroup cg = new CheckboxGroup(); // 체크박스와 혼합하여 사용하면 자동으로 라디오버튼이 됨.
private Checkbox m_cb = new Checkbox("M", cg, true); // 체크박스를 만들어서 체크박스그룹으로 올리는 것임
private Checkbox f_cb = new Checkbox("F", cg, false);
// 레이아웃 배치 하기
private GridLayout gl = new GridLayout(4, 1);
// 라벨 1행과 2행의 내용은 판넬로 구성
// 과일 판넬
private Panel p = new Panel();
private GridLayout gl1 = new GridLayout(1, 3);
// 성별 판넬
private Panel p1 = new Panel();
private GridLayout gl2 = new GridLayout(1, 2);
public Exam29(String title) {// 생성자 구성
super(title); // 상위 생성자를 호출
super.setSize(500, 300); // 사이즈 지정(변경 안 됨)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.init();
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); // (암기필요)스크린 사이즈를 자동으로 배정해서 크기 지정해서 가져온다는 내용
Dimension frm = super.getSize(); // 프레임 크기를 받아옴
int xpos = (int) (screen.getWidth() / 2 - frm.getWidth() / 2/* 반 이동 해야 하기 때문 */);
int ypos = (int) (screen.getHeight() / 2 - frm.getHeight() / 2);
super.setLocation(xpos, ypos);
super.setResizable(false/* 크기 변경 불가하도록 함 */);
super.setVisible(true);// 화면에 보여줘라!
}
public void init() {
this.setLayout(gl); // 전체 레이아웃은 gl로 선택
this.add(lb); // 과일 라벨
p.setLayout(gl1); // 1행의 3열
p.add(a_cb);
p.add(b_cb);
p.add(c_cb);
this.add(p); // 판넬 넣기
this.add(gel);
p1.setLayout(gl2); // 1행의 2열
p1.add(m_cb);
p1.add(f_cb);
this.add(p1); // 성별 라벨
}
public static void main(String[] ar) { // 메인 메소드 지정
Exam29 ep = new Exam29("제목");
}
}
반응형
LIST
'공부합시다 > 찍먹' 카테고리의 다른 글
[JAVA] Choice class와 Choice List (0) | 2021.04.05 |
---|---|
[JAVA] 버튼과 레이블만으로 전화기 구성 만들기 (0) | 2021.04.05 |
[명품자바 프로그래밍] 2장 실습 (0) | 2021.03.17 |
21.03.12(금) 수업 내용 (0) | 2021.03.12 |
[명품자바 프로그램] 8장 실습문제 (0) | 2021.03.12 |