프로그래밍

계산기(미완)

Dilrong 2013. 11. 27. 18:23
import java.awt.*; 
import java.awt.event.*; 

public class calculator extends Frame{
    //선언부분 
    Frame f; 
    TextField tf; 
    Panel numPanel; 
    //입력받은 숫자 저장 
    String operator = new String(""); 
    //입력됬던 피연산자 저장 
    int save = 0; 
    Button numButton1; 
    Button numButton2; 
    Button numButton3; 
    Button numButton4; 
    Button numButton5; 
    Button numButton6; 
    Button numButton7; 
    Button numButton8; 
    Button numButton9; 
    Button numButton10; 
    Button numButton11; 
    Button numButton12; 
    Button numButton13; 
    Button numButton14; 
    Button numButton15; 
     
    //생성자로 설정 
    public calculator() { 
        f = new Frame("계산기"); 
        tf = new TextField("0"); 
        numPanel = new Panel(); 
         
        //프레임및 패널 설정 
        f.setLocation(300, 300);
        f.add("North", tf); 
        //숫자키 GridLayout 
        numPanel.setLayout(new GridLayout(4, 5, 4, 4));
        numPanel.setBackground(Color.lightGray); 
        f.add("Center", numPanel); 
        f.setSize(200, 200);
         
        //버튼생성 
        numButton1 = new Button("C"); 
        numButton2 = new Button("1"); 
        numButton3 = new Button("2"); 
        numButton4 = new Button("3"); 
        numButton5 = new Button("4"); 
        numButton6 = new Button("5"); 
        numButton7 = new Button("6"); 
        numButton8 = new Button("7"); 
        numButton9 = new Button("8"); 
        numButton10 = new Button("9"); 
        numButton11 = new Button("0"); 
        numButton12 = new Button("+"); 
        numButton13 = new Button("-"); 
        numButton14 = new Button("/"); 
        numButton15 = new Button("*"); 
         
        //버튼에 액션추가 
        numButton1.addActionListener(new MyListener()); 
        numButton2.addActionListener(new MyListener()); 
        numButton3.addActionListener(new MyListener()); 
        numButton4.addActionListener(new MyListener()); 
        numButton5.addActionListener(new MyListener()); 
        numButton6.addActionListener(new MyListener()); 
        numButton7.addActionListener(new MyListener()); 
        numButton8.addActionListener(new MyListener()); 
        numButton9.addActionListener(new MyListener()); 
        numButton10.addActionListener(new MyListener()); 
        numButton11.addActionListener(new MyListener()); 
        numButton12.addActionListener(new MyListener()); 
        numButton13.addActionListener(new MyListener()); 
        numButton14.addActionListener(new MyListener()); 
        numButton15.addActionListener(new MyListener()); 
         
        //패널에 버튼추가 
        numPanel.add(numButton1); 
        numPanel.add(numButton2); 
        numPanel.add(numButton3); 
        numPanel.add(numButton4); 
        numPanel.add(numButton5); 
        numPanel.add(numButton6); 
        numPanel.add(numButton7); 
        numPanel.add(numButton8); 
        numPanel.add(numButton9); 
        numPanel.add(numButton10); 
        numPanel.add(numButton11); 
        numPanel.add(numButton12); 
        numPanel.add(numButton13); 
        numPanel.add(numButton14); 
        numPanel.add(numButton15); 
         
        f.setResizable(false); 
        f.setVisible(true); 
    }     
     
//액션 함수 
public class MyListener implements ActionListener {
    public void actionPerformed(ActionEvent e){ 
        if(e.getSource() == numButton1){ 
            tf.setText("취소"); 
            } 
            else if(e.getSource() == numButton2){ 
            operator += "1"; 
            tf.setText(operator); 
            } 
            else if(e.getSource() == numButton3){ 
            operator += "2"; 
            tf.setText(operator); 
            } 
            else if(e.getSource() == numButton4){ 
            operator += "3"; 
            tf.setText(operator); 
            } 
            else if(e.getSource() == numButton5){ 
            operator += "4"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton6){ 
            operator += "5"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton7){ 
            operator += "6"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton8){ 
            operator += "7"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton9){ 
            operator += "8"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton10){ 
            operator += "9"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton11){ 
            operator += "0"; 
            tf.setText(operator); 
            } 
            if(e.getSource() == numButton12){ 
            save = Integer.parseInt(operator); 
            operator = ""; 
            tf.setText("+"); 
            } 
            if(e.getSource() == numButton13){ 
            save = Integer.parseInt(operator); 
            operator = ""; 
            tf.setText("-"); 
            } 
            if(e.getSource() == numButton14){ 
            save = Integer.parseInt(operator); 
            operator = ""; 
            tf.setText("/"); 
            } 
            if(e.getSource() == numButton15){ 
            save = Integer.parseInt(operator); 
            operator = ""; 
            tf.setText("*"); 
            } 
    } 
} 
     
    public static void main(String[] args) {
        calculator cl = new calculator(); 
    } 
}
반응형

'프로그래밍' 카테고리의 다른 글

화이트보드(사각형)  (0) 2013.12.02
화이트보드(선)  (0) 2013.12.02
순차 자료구조로 구현한 큐 프로그램  (0) 2013.11.26
후위 표기 수식의 연산 프로그램  (0) 2013.11.26
Win32Api_달력  (0) 2013.11.20