티스토리 뷰
//계산기 만들기
import java.awt.*;
import javax.swing.*;
public class homework02 extends JFrame {
private Label lb = new Label("계산기");
private TextArea tf = new TextArea();
private Button[] bt = new Button[24];
private String[] str = { "%", "CE", "C", "X", "1/ⅹ", "ⅹ²", "²√ⅹ", "÷", "7", "8", "9", "×", "4", "5", "6", "-", "1",
"2", "3", "+", "+/-", "0", ".", "=" };
private BorderLayout bl = new BorderLayout(10, 10);
private Panel p = new Panel();// 가상 영역의 공간배치를 위함
private Panel p1 = new Panel();
private GridLayout gl = new GridLayout(6, 4, 5, 5); // 6행. 4열. 세로 간격, 가로 간격
private GridLayout gl2 = new GridLayout(2, 1, 5, 5);
public homework02(String title) {// 생성자 구성
super(title); // 상위 생성자를 호출
super.setSize(400, 500);
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.add("North", p1);
p1.add(tf);
this.add("Center", p);
p.setLayout(gl);
for (int i = 0; i < bt.length; ++i) {
bt[i] = new Button(String.valueOf(str[i]));
p.add(bt[i]);
}
}
public static void main(String[] ar) { // 메인 메소드 지정
new homework02("계산기");
}
}
반응형
LIST
'공부합시다 > 찍먹' 카테고리의 다른 글
[JAVA] 이벤트 처리 기법 프로그램 (0) | 2021.04.06 |
---|---|
[JAVA] TextField와 TextArea에 대한 GUI (0) | 2021.04.05 |
[JAVA] File Dialog (0) | 2021.04.05 |
[JAVA] Choice class와 Choice List (0) | 2021.04.05 |
[JAVA] 버튼과 레이블만으로 전화기 구성 만들기 (0) | 2021.04.05 |
댓글