import java.awt.Button;
import java.awt.Choice;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
class Myframe extends Frame {
Button b1; //변수선언
int a, b;
Choice ColorChooser;
TextField t1, t2, t3;
addActionListener aa;
Myframe() { //변수 초기화
t1 = new TextField(4);
t2 = new TextField(4);
ColorChooser = new Choice();
ColorChooser.add("x");
ColorChooser.add("+");
ColorChooser.add("-");
b1 = new Button("결과보기");
b1.setSize(400, 400);
t3 = new TextField(20);
}
void addComponent() { //프레임에 버튼과 , 텍스트필드 , 초이스를 집어넣는다.
add(t1);
add(ColorChooser);
add(t2);
add(b1);
add(t3);
}
void registerEvent() { //이벤트를 등록한다. 여기선 버튼1번만 한다.
aa = new addActionListener();
b1.addActionListener(new addActionListener());
}
}
class addActionListener implements ActionListener {
int c;
TextField t1, t2, t3;
Choice cc;
public void actionPerformed(ActionEvent e) {
Button b1 = (Button) e.getSource();
Frame f = (Frame) b1.getParent();
Component[] cp = f.getComponents();
t1 = (TextField) cp[0];
t2 = (TextField) cp[2];
cc = (Choice) cp[1];
t3 = (TextField) cp[4];
System.out.println("버튼클릭성공");
try { //초이스의 선택값을 받아와서 계산해서 텍스트3에 setText 한다.
if (cc.getSelectedItem() == "x") {
t3.setText(Integer.parseInt(t1.getText())
* Integer.parseInt(t2.getText()) + "");
}
if (cc.getSelectedItem() == "+") {
t3.setText(Integer.parseInt(t1.getText())
+ Integer.parseInt(t2.getText()) + "");
}
if ((cc.getSelectedItem() == "-")) {
t3.setText((Integer.parseInt(t1.getText()) - Integer
.parseInt(t2.getText())) + "");
}
}
catch (NumberFormatException e1) {
t3.setText("숫자 입력 왜 안해요?");
}
}
}
public class framet {
public static void main(String[] args) {
Myframe f = new Myframe();
f.setVisible(true);
f.setBounds(600, 600, 500, 500);
f.setLayout(new FlowLayout());
f.addComponent();
f.registerEvent();
}
}