package ch11;

import java.awt.Frame;
import java.awt.Label;
import java.awt.Rectangle;
import java.awt.TextField;
import java.awt.Button;
import java.awt.TextArea;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Dimension;

public class Ch1104 extends Frame {

 private static final long serialVersionUID = 1L;
 //키포인트 == 어너미클래스는 멤버변수때문에 접근이 가능....
 private Label label1 = null;
 private TextField textname = null;
 private Button button1 = null;
 private TextArea text = null;
 /**
  * This is the default constructor
  */
 public Ch1104() {
  super();
  initialize();
 }

 /**
  * This method initializes this
  *
  * @return void
  */
 private void initialize() {
  label1 = new Label();
  label1.setText("이름");
  label1.setBounds(new Rectangle(10, 30, 51, 21));
  this.setLayout(null);
  this.setSize(300, 200);
  this.setTitle("Frame");

  this.add(label1, null);
  this.add(getTextname(), null);
  this.add(getButton1(), null);
  this.add(getText(), null);
 }

 /**
  * This method initializes textname
  *  
  * @return java.awt.TextField
  */
 private TextField getTextname() {
  if (textname == null) {
   textname = new TextField();
   textname.setBounds(new Rectangle(70, 30, 161, 21));
  }
  return textname;
 }

 /**
  * This method initializes button1
  *  
  * @return java.awt.Button
  */
 private Button getButton1() {
  if (button1 == null) {
   button1 = new Button();
   button1.setLabel("추가");
   button1.setBounds(new Rectangle(240, 30, 50, 21));
   button1.addActionListener(new ActionListener() {

    public void actionPerformed(ActionEvent e) {
     // TODO 자동 생성된 메소드 스텁
     //getText를 사용하면 입력값을 얻어올 수 있다.
     //System.out.println(textname.getText());
     String value=textname.getText();
     //setText를 사용하면 컴포넌트에 값을 대입할 수 있다.
     //text.setText(value);
     //TextArea에서는 append가 지원됨.
     //★ Anonymous Class는 메인클래스의 멤버변수의 접근이 자유롭다.
     text.append(value+"\r\n");
     textname.setText("");
    }});
  }
  return button1;
 }

 /**
  * This method initializes text
  *  
  * @return java.awt.TextArea
  */
 private TextArea getText() {
  if (text == null) {
   text = new TextArea();
   text.setName("textarea");
   text.setBounds(new Rectangle(10, 60, 281, 131));
  }
  return text;
 }

}  //  @jve:decl-index=0:visual-constraint="77,6"

Posted by 말없제이
,