자바과정/Java

Java 실습(어댑터) - 9일차

Parkej 2021. 2. 17. 21:25
package Actionevent;

import java.awt.*;
import java.awt.event.*;

public class AdapterEx extends Frame implements ActionListener{
	Panel p1, p2, p3;
	TextField tf;
	TextArea ta;
	Button b1, b2;

	public AdapterEx(){
		super("Adapter 테스트");
		p1=new Panel();
		p2=new Panel();
		p3=new Panel();

		tf=new TextField(35);
		ta=new TextArea(10,35);

		b1=new Button("Clear");
		b2=new Button("Exit");

		p1.add(tf);
		p2.add(ta);
		p3.add(b1);
		p3.add(b2);

		add("North",p1);
		add("Center",p2);
		add("South",p3);

		setBounds(300,200,300,300);
		setVisible(true);

		b1.addActionListener(this);
		b2.addActionListener(this);

		// member inner class >  Anonymous inner class
		tf.addKeyListener(new KeyAdapter() { // 필요한것만 오버라이드해서 함. 
			public void keyTyped(KeyEvent e){
				if(e.getKeyChar() == KeyEvent.VK_ENTER){
					ta.append(tf.getText()+"\n");
					tf.setText("");
				}
			}
		}); 

		addWindowListener(new WindowAdapter() { // 2. Anonymous 객체 생성과 동시에 하는 방법 
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
	}

	public void actionPerformed(ActionEvent e){
		String str=e.getActionCommand();
		if(str.equals("Clear")){
			ta.setText("");
			tf.setText("");
			tf.requestFocus(); 
		}
		else if(str.equals("Exit")){
			System.exit(0);
		}
	}

	public static void main(String[] args){
		new AdapterEx();
	}
}
반응형