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 |