자바 계산기 만들기 (뷰어만.)
import java.awt.*;
class Calculator{
public static void main(String[] args){
new Calculator();
}
private Frame f = new Frame("Calculator");
Calculator(){
init();
start();
f.setSize(320,270);
f.setVisible(true);
}
private Label lb = new Label("0", Label.RIGHT);
private Label lb_temp = new Label("");
private Button[] b1 = new Button[4];
private Button[] b2 = new Button[3];
private Button[][] b3 = new Button[4][5];
private MenuBar mb = new MenuBar();
private Menu m1 = new Menu("편집(E)");
private Menu m2 = new Menu("보기(V)");
private Menu m3 = new Menu("도움말(H)");
private Cursor cs = new Cursor(Cursor.TEXT_CURSOR);
int i, j;
void init(){
f.setLayout(new CardLayout(5, 5));
f.setBackground(Color.lightGray);
f.setResizable(false);
//메뉴부분
m1.add("복사(C) Ctrl+C ");
m1.add("붙여넣기(P) Ctrl+V ");
m2.add("일반용(T)");
m2.add("공학용(S)");
m2.addSeparator();
m2.add("자릿수 구분 단위(I) ");
m3.add("도움말 항목(H) ");
m3.addSeparator();
m3.add("계산기 정보(A) ");
mb.add(m1);
mb.add(m2);
mb.add(m3);
f.setMenuBar(mb);
//버튼,숫자부분
Panel p = new Panel(new BorderLayout());
//젤위에 있는 숫자입력하는 부분
Panel p1_1 = new Panel(new CardLayout(5, 5));
Panel p1 = new Panel(new FlowLayout(FlowLayout.RIGHT));
p1.setBackground(Color.white);
p1.setCursor(cs);
p1.add(lb);
p1_1.add("view",p1);
p.add("North",p1_1);
//왼쪽 MC,MR,MS,M+ 부분
Panel p2_1 = new Panel(new CardLayout(5, 5));
Panel p2 = new Panel(new BorderLayout());
Panel p2_2 = new Panel(new GridLayout(4, 1, 5, 5));
Panel p2_3 = new Panel(new FlowLayout());
String[] str1 = {"MC","MR","MS","M+"};
for (i=0;i<b1.length ;i++ ){
b1[i] = new Button(str1[i]);
b1[i].setForeground(Color.red);
p2_2.add(b1[i]);
}
p2_3.setBackground(Color.lightGray);
p2_3.add(lb_temp);
p2.add("North",p2_3);
p2.add("Center",p2_2);
p2_1.add("view",p2);
p.add("West",p2_1);
//중간에 있는 숫자입력 및 계산하는 부분
Panel p3 = new Panel(new BorderLayout());
//빽스페이스 있는 부분
Panel p3_1 = new Panel(new CardLayout(5, 5));
Panel p3_11 = new Panel(new GridLayout(1, 3, 5, 5));
String[] str2 = {"Backspace","CE","C"};
for (i=0;i<b2.length ;i++ ){
b2[i] = new Button(str2[i]);
b2[i].setForeground(Color.red);
p3_11.add(b2[i]);
}
p3_1.add("view",p3_11);
p3.add("North",p3_1);
//숫자 및 계산하는거 있는 부분
Panel p3_2 = new Panel(new CardLayout(5, 5));
Panel p3_21 = new Panel(new GridLayout(4, 5, 5, 5));
String[][] str3 = {{"7","8","9","/","sqrt"}, {"4","5","6","*","%"}, {"1","2","3","-","1/x"}, {"0","+/-",".","+","="}};
for (i=0;i<4 ;i++ ){
for (j=0;j<5 ;j++ ){
b3[i][j] = new Button(str3[i][j]);
if (j==3){
b3[i][j].setForeground(Color.red);
}else if (j==4 && i==3){
b3[i][j].setForeground(Color.red);
}else{
b3[i][j].setForeground(Color.blue);
}
p3_21.add(b3[i][j]);
}
}
p3_2.add("view",p3_21);
p3.add("Center",p3_2);
p.add("Center",p3);
f.add("view",p);
}
void start(){
}
}
<실행 결과>
'프로그래밍 > 자바(JAVA)' 카테고리의 다른 글
[자바/JAVA] 자바 빈삼각형 만들기 (0) | 2012.05.04 |
---|---|
[자바/JAVA] 자바 업그레이드 구구단 (0) | 2012.05.04 |
[자바/JAVA] 자바 탐색기 만들기 (1) | 2012.05.04 |
[자바/JAVA] 자바 로또, Swing로 구현 (1) | 2012.05.04 |
[자바/JAVA] 자바 메모장 만들기 (2) | 2012.05.04 |
[자바/JAVA] 자바 골뱅이, 역골뱅이 만들기. (0) | 2012.05.04 |
[자바/JAVA] 자바 줄바꿈, 개행문자를 다른문자로 치환하는 방법 (1) | 2012.05.04 |
[자바/JAVA] 자바 화폐단위로 점찍어주기 (0) | 2012.05.03 |
주민번호체크(Java Swing로 구현) (0) | 2010.10.21 |