import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
public class MyEvent implements ActionListener,TextListener{
private Frame mainFrame;
private Button btnExit;
private Label lblOutput;
private TextField tfInput;
private TextArea taOutList;
public MyEvent() { //AWT 구성에 필요한 객체를 생성
mainFrame = new Frame("객체와 리스너 실습");
btnExit = new Button("종료");
lblOutput= new Label("리스너가 감지한 이벤트 : ");
tfInput = new TextField(30);
tfInput.setText("천 / 당 / 속 / 서 / 제");
taOutList = new TextArea("천\n속",5,50);
}
public void startFrame(){//컴포넌트 객체를 프레임에 추가 + 리스너 등록
mainFrame.setLayout(new FlowLayout());
mainFrame.add(lblOutput);
mainFrame.add(tfInput);
mainFrame.add(taOutList);
mainFrame.add(btnExit);
mainFrame.setSize(400, 300);
mainFrame.setVisible(true);
//Listener
btnExit.addActionListener(this);
tfInput.addActionListener(this);
tfInput.addTextListener(this);
}
@Override
public void actionPerformed(ActionEvent e) { //액션 리스너의 핸들러 + 필요작업 작성
String strTemp =e.getActionCommand();
if(strTemp.equals("종료"))
{
System.exit(0);
}
else{
lblOutput.setText(strTemp);
}
}
@Override
public void textValueChanged(TextEvent e) { // 텍스트 리스너의 핸들러 + 필요작업 작성
taOutList.append("\ntextField 내용 : " + tfInput.getText());
}
}