AWT>List

C/Java : 2007. 11. 7. 12:06

- 한번에 여러개의 항목을 출력할 수 있다.

- 1개 이상의 항목을 선택할 수 있다.



*

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


public class TestLists extends Frame implements ItemListener {
 List lstBread;
 
 TextField tField;
 
 public TestLists() {
  lstBread = new List(3, true);    //List의 인스턴스 생성(행수 지정,다중선택허용여부)
  lstBread.add("White Bread");
  lstBread.add("Wheat Bread");
  lstBread.add("Rye Bread");
  lstBread.addItemListener(this);  //이벤트 처리를 위한 ItemListener인터페이스 구현
 
  tField = new TextField(" ", 30);
 
  setLayout(new FlowLayout());
  add(lstBread);
  add(tField);
 
  addWindowListener(new WinCloser());
  setTitle("Using Lists");
  setBounds(100,100,300,300);
  setVisible(true);
 }
 
 public void itemStateChanged(ItemEvent ie) {
  List selBread = (List)ie.getItemSelectable();   //이벤트발생 근원지를 얻는다.
  if(selBread.getSelectedItem() != null)          //1개의 항목 선택
   tField.setText("You selected " + selBread.getSelectedItem());
  else {
   tField.setText("");
   for(int i=0; i<selBread.getItemCount(); i++) {
    if(selBread.isIndexSelected(i)) {
     String oldString = tField.getText();
     tField.setText(oldString + " " + selBread.getItem(i));
    }  //선택되었으면 출력될 문자열에 내용을 추가
   }   //TextField에 문자열을 추가하는 메소드가 존재하지 않기 때문에 수동으로 처리
  }
 }
 
 public static void main(String[] args) {
  TestLists tc = new TestLists();
 }
}

class WinCloser extends WindowAdapter {
 public void windowClosing(WindowEvent e) {
  System.exit(0);
 }
}

*


Posted by 청웨일