import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Component;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
// ActionEvent : Button, MenuItem, TextField에서 엔터, List에서 항목을 더블클릭하면 발생하는 이벤트
public class Test5 extends Frame implements ActionListener {
private Button btn1, btn2;
private TextField tf;
private TextArea ta;
public Test5() {
setTitle("윈도우 프로그램....");
btn1=new Button("추가");
btn2=new Button("종료");
tf=new TextField(20);
ta=new TextArea();
//Frame에 컴포넌트 추가
//Frame은 기본적으로 동서남북중앙 5개의 컴포넌트를 배치하는 BorderLayout이 기본 Layout
/* add(btn1, BorderLayout.SOUTH);
add(btn2, BorderLayout.NORTH);
add(tf, BorderLayout.EAST);
add(ta, BorderLayout.WEST);
*/
add(ta, BorderLayout.CENTER);
//panel: 하나이상의 컴포넌트를 그룹화.
// 패널은 FlowLayout가 기본(일직선 배치)
Panel p=new Panel();
p.add(tf);
p.add(btn1);
p.add(btn2);
add(p,BorderLayout.SOUTH);
// btn1에 ActionEvent 등록
btn1.addActionListener(this);
// btn2에 ActionEvent 등록
btn2.addActionListener(this);
// tf에 ActionEvent 등록
tf.addActionListener(this);
// WindowAdapter : WindowListener 인터페이스 구현클래스
// 익명클래스
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
setBackground(new Color(10,200,200));
setSize(500,500);
setVisible(true);
}
public static void main(String[] args) {
new Test5();
}
@Override
public void actionPerformed(ActionEvent e) {
//ActionEvent를 처리하는 메소드
//이벤트를 발생시킨 객체
Component co=(Component)e.getSource();
if(co instanceof Button){
if(co==btn1){
String s=tf.getText();
ta.append(s+"\n");
tf.setText("");
tf.requestFocus();
}else if(co==btn2){
System.exit(0);
}
}else if(co instanceof TextField){
String s=tf.getText();
ta.append(s+"\n");
tf.setText("");
tf.requestFocus();
}
}
}
'자바 DB 연동' 카테고리의 다른 글
simpleDateFormat : sql 날짜 형식을 자바에서 다루기 (0) | 2014.05.01 |
---|---|
자바 DB 풀링 예제 (0) | 2014.03.07 |
WindowListener 자바에서 윈도우창 만들기 (0) | 2013.06.19 |
CallableStatement - 프로시져 사용하기 (2) | 2013.06.15 |
OracleTypes.CURSOR 에러 해결하기 (0) | 2013.06.15 |