Choice/Checkbox/List/TextArea //Event

|

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

 

class Act extends Frame implements ItemListener
{

 Panel p,p1;
 Choice c;
 Checkbox ch1,ch2;
 List li;
 TextArea ta;                                 //사용할 컨트롤 선언

 

 

 Act()
 {
  Frame f = new Frame();
  f.setLayout(new BorderLayout());        // 프레임생성
 
  p = new Panel();
  p1 = new Panel();
  c = new Choice();
  ch1 = new Checkbox("check1");
  ch2 = new Checkbox("check2");
  li = new List(3,false);
  ta = new TextArea(10,10);                  // 컨트롤생성
 
  c.addItem("1");
  c.addItem("2");
  li.add("3");
  li.add("4");
  li.add("5");                                     // List와 Choice컨트롤에 항목 추가
 
  p.setLayout(new FlowLayout());
  p.add(ch1); p.add(ch2);

  p1.setLayout(new FlowLayout());
  p1.add(c); p1.add(li);                       // 레이아웃 지정


  ch1.addItemListener(this);
  ch2.addItemListener(this);

  c.addItemListener(this);
  li.addItemListener(this);                    // Listener설정

 

 

  f.add("North",p);
  f.add("Center",p1);
  f.add("South", ta);                           // 프레임에 컨트롤 붙이기
 

  ta.addMouseListener(new MouseAdapter()
   {
    public void mouseClicked(MouseEvent e)
    {
     ta.setText(ta.getText()+"mouse clicked!\n");
    }
   });                                                              // TextArea에 마우스가

                                                                        클릭되었을때 발생하는

                                                                        이벤트 트처리

                                                         
 

  f.addWindowListener(new WindowAdapter()
   {
    public void windowClosing(WindowEvent e)
    {
     dispose();
     System.exit(0);
    }
   });                                                          // 윈도우 닫기버튼을 눌렀을때

                                                                     발생하는 이벤트 처리

 

  f.setSize(500,500);
  f.setVisible(true);                                       // 프레임 사이즈 및 보기 설정

 }

 

 

 public static void main(String[] args)
 {
  Act ac = new Act();
 }


 

 

public void itemStateChanged(ItemEvent e)       // Choice 와 List 이벤트 발생시
 {                                                             // 처리하는 부분
   
  if(e.getSource().equals(ch1))                      // ch1에 이벤트 발생
  {
   if(ch1.getState())                                     // ch1에 체크가 되었는지 확인후
    ta.setText("checked 1\n");                      // ta에 문자 출력
   else                                     
    ta.setText("not check1\n");
  }

  else                                                       // ch2에 이벤트 발생
  {
   if(ch2.getState())                                    

    ta.setText("checked2\n");
   else
    ta.setText("not check2\n");
  }

 

 

  if(e.getSource().equals(li))                        //List에 이벤트 발생
  {
   if(li.getSelectedItem().equals("3"))
    ta.setText("3");
   else if(li.getSelectedItem().equals("4"))
    ta.setText("4");
   else
    ta.setText("5");
  }
 

  if(e.getSource().equals(c))
  {
    if(c.getSelectedItem().equals("1"))
    ta.setText("1");
   else
    ta.setText("2");
  }
 }
}


And