삼성SDS_멀티캠퍼스/Java

23일 차 Swing 사칙연산 가능한 계산기

박성우기 2015. 10. 12. 13:51
반응형

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;


public class Sample2 {

public static void main(String[] args) {

gogo2 g = new gogo2();

}

}


class gogo2 extends JFrame {

private JButton button;

private JTextField field;

private JTextField field2;

private JTextField field3;


private JLabel label;

private JLabel label2;

private JLabel label3;

private listener listen = new listener();

private JPanel panel;

int num, num2, result;

Integer intResult;


public gogo2() {

this.setTitle("이벤트");

this.setSize(300, 400);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel = new JPanel();

button = new JButton("계산");

field = new JTextField(5);

field2 = new JTextField(5);

field3 = new JTextField(1);

field.setHorizontalAlignment(JTextField.CENTER);

field2.setHorizontalAlignment(JTextField.CENTER);

label = new JLabel("2번째 칸에는 +  -  *  / 넷 중 한개를 써 주세요");

label2 = new JLabel("=");

label3 = new JLabel("");

button.addActionListener(listen);

panel.add(label);

panel.add(field);

panel.add(field3);

panel.add(field2);

panel.add(label2);

panel.add(label3);

panel.add(button);

this.add(panel);

this.setVisible(true);

}


class listener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

if (e.getSource() == button) {

if (button.getText().toString().equals("계산")) {

num = Integer.parseInt(field.getText());

num2 = Integer.parseInt(field2.getText());


if (field3.getText().toString().equals("+"))

label3.setText("" + (num + num2));

else if (field3.getText().toString().equals("-"))

label3.setText("" + (num - num2));

else if (field3.getText().toString().equals("*"))

label3.setText("" + (num * num2));

else if (field3.getText().toString().equals("/"))

label3.setText("" + (num / num2));


field.setEditable(false);

field2.setEditable(false);

field3.setEditable(false);

button.setText("다시");

} else if (button.getText().toString().equals("다시")) {

field.setEditable(true);

field2.setEditable(true);

field3.setEditable(true);

field.setText("");

field2.setText("");

field3.setText("");

button.setText("계산");

}

}

}

}

}





반응형