[ java ] in KIDS 글 쓴 이(By): char (★자유★) 날 짜 (Date): 1997년11월04일(화) 13시10분27초 ROK 제 목(Title): [프로젝트 1 소스입니다.] 늦었지만.. ^^ import java.awt.*; import java.awt.event.*; public class JCalc extends Frame { static double number = 0.0; char operator = ' '; Button button[][] = new Button[4][4], clear; Label label; Panel buttons[] = new Panel[4]; String[][] txt = {{"7", "8", "9", "/"}, {"4", "5", "6", "*"}, {"1", "2", "3", "-"}, {"0", "SQRT", "%", "="}}; public JCalc(String title) { super(title); int i, j; this.setLayout(new GridLayout(6, 1)); label = new Label("0", label.RIGHT); // label.setSize(200, 20); label.setForeground(Color.black); label.setBackground(Color.white); this.add(label); clear = new Button("C"); // clear.setSize(15, 15); this.add(clear); for (i=0;i<=3;i++) { buttons[i] = new Panel(); buttons[i].setLayout(new GridLayout(0, 4)); for(j=0;j<=3;j++) { button[i][j] = new Button(txt[i][j]); buttons[i].add(button[i][j]); } this.add(buttons[i]); } } public boolean action(Event event, Object obj) { if(event.target == clear) { label.setText("0"); return true; } if(event.target == button[0][0]) { label.setText(((label.getText()=="0")?(""):(label.getText())) + '7') ; return true; } if(event.target == button[0][1]) { label.setText(((label.getText()=="0")?(""):(label.getText())) + '8') ; return true; } if(event.target == button[0][2]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'9'); return true; } if(event.target == button[0][3]) { number = Double.valueOf(label.getText()).doubleValue(); label.setText("0"); operator = '/'; return true; } if(event.target == button[1][0]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'4'); return true; } if(event.target == button[1][1]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'5'); return true; } if(event.target == button[1][2]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'6'); return true; } if(event.target == button[1][3]) { number = Double.valueOf(label.getText()).doubleValue(); label.setText("0"); operator = '*'; return true; } if(event.target == button[2][0]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'1'); return true; } if(event.target == button[2][1]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'2'); return true; } if(event.target == button[2][2]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'3'); return true; } if(event.target == button[2][3]) { number = Double.valueOf(label.getText()).doubleValue(); label.setText("0"); operator = '-'; return true; } if(event.target == button[3][0]) { label.setText(((label.getText()=="0")?(""):(label.getText()))+'0'); return true; } if(event.target == button[3][1]) { label.setText(Double.toString(Math.sqrt(Double.valueOf(label.getText()).doubleV alue()))); return true; } if(event.target == button[3][2]) { number = Double.valueOf(label.getText()).doubleValue(); label.setText("0"); operator = '%'; return true; } if(event.target == button[3][3]) { switch (operator){ case '/': label.setText(Double.toString(number/Double.valueOf(label.getTex t()).doubleValue())); return true; case '*': label.setText(Double.toString(number*Double.valueOf(label.getTex t()).doubleValue())); return true; case '-': label.setText(Double.toString(number-Double.valueOf(label.getTex t()).doubleValue())); return true; case '%': label.setText(Double.toString(number%Double.valueOf(label.getTex t()).doubleValue())); return true; } } return false; } public static void main(String[] argv) { Frame f=new JCalc("JCalc"); f.setSize(200, 200); f.show(); } } ------------------------------------------------------------------- 소스가 지저분하더라도 양해 바랍니다. 잘 될지 모르겠군요. 오늘 아침에 만든거라... 참.. EXIT button은 못 만들었습니다. (게을러서...) 죄송하지만 직접 만드세요. 그럼 이만.. |