JList

개발 및 관리/Java 2013. 1. 24. 21:06 posted by HighLighter
반응형

 

1. 생성자

//JList 생성자는 임의의 객체 유형의 배열을 받아들인다. 반드시 String일 필요는 없지만

//실제 목록에 표시될 때는 String 형태로 표현된다.

String[] listEntries = {"alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta"};

 list = new JList(listEntries);

 

2. 사용 방법

1)수직 스크롤 바가 들어가야 한다.

//JTextArea를 만들 때하고 동일하다. 목록을 넘겨주면서 JScrollPane을 만들고 목록이 아닌

//그 스크롤 틀을 패널에 추가해야 한다.

JScrollPane scroller = new JScrollPane(list);

scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);

scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);

 

panel.add(scroller);

 

2)스크롤하기 전에 보여줄 행의 개수를 설정한다.

list.setVisibleRowCount(3);

 

3)한 번에 하나만 선택할 수 있도록 설정한다.

list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

 

4)목록 선택 이벤트에 등록한다.

list.addListSelectionListener(this);

 

5)이벤트를 처리한다.(목록에서 어떤 항목에 선택되었는지 알아낸다.)

public void valueChanged(ListSelectionEvent lse) {

     //if문을 집어넣지 않으면 이벤트를 두 번 받게 된다.

if( !lse.getValueIsAdjusting()) {

      //getSelectedValue()에서는 Object를 리턴한다. 목록에 String 객체만 들어갈 수 있는 것은 아니다.

String selection = (String) list.getSelectedValue();

System.out.println(selection);

}

}

반응형

'개발 및 관리 > Java' 카테고리의 다른 글

ArrayList VS 일반배열  (0) 2013.01.25
BeatBox.java  (0) 2013.01.24
JCheckBox  (0) 2013.01.24
JTextArea  (0) 2013.01.24
JTextField  (0) 2013.01.24