|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JList
public class JList
객체의 리스트를 표시해, 사용자가 1 개 또는 복수의 객체를 선택할 수 있도록(듯이) 하는 컴퍼넌트입니다. 다른 모델인 ListModel 가, 리스트의 내용을 보관 유지합니다.
읽기 전용의 ListModel 의 인스턴스를 자동 생성하는 JList 생성자 을 사용하면, 객체의 배열 또는 Vector 를 간단하게 표시할 수 있습니다.
// Create a JList that displays strings from an array
String[] data = {"one", "two", "three", "four"};
JList myList = new JList(data);
// Create a JList that displays the superclasses of JList.class, by
// creating it with a Vector populated with this data
Vector superClasses = new Vector();
Class rootClass = javax.swing.JList.class;
for(Class cls = rootClass; cls ! = null; cls = cls.getSuperclass()) {
superClasses.addElement(cls);
}
JList myList = new JList(superClasses);
// The automatically created model is stored in JList's "model"
// property, which you can retrieve
ListModel model = myList.getModel();
for(int i = 0; i < model.getSize(); i++) {
System.out.println(model.getElementAt(i));
}
생성자 또는 setModel 메소드를 사용해,ListModel 를 JList 에 직접 지정할 수 있습니다. 컨텐츠가 static 일 필요는 없습니다. 항목수나 항목의 값은, 시간의 경과와 함께 변화해도 괜찮습니다. ListModel 가 올바르게 구현되고 있으면, 변경이 발생할 때마다, 추가된 javax.swing.event.ListDataListener 세트에 통지가 보내집니다. 이러한 변경은, 수정, 추가, 또는 삭제된 리스트 인덱스의 범위를 식별하는 javax.swing.event.ListDataEvent 에 의해 기술됩니다. JList 의 ListUI 는, 모델의 변경을 대기하는 것에 의해, 시각 표현이 항상 최신 상태가 되도록(듯이) 합니다.
단순한 동적 내용의 JList 어플리케이션은,DefaultListModel 클래스를 사용해 리스트 요소를 관리할 수 있습니다. 이 클래스는,ListModel 인터페이스를 구현해,java.util.Vector 와 같은 API 도 제공합니다. 한편, 커스텀 ListModel 구현을 필요로 하는 어플리케이션은, 청취자의 관리 및 통지에 관한 기본 기능을 제공하는 AbstractListModel 의 서브 클래스로 할 수가 있습니다. 예를 들어,AbstractListModel 의 읽기 전용 구현의 경우, 다음과 같이 됩니다.
// This list model has about 2^16 elements. Enjoy scrolling.
ListModel bigData = new AbstractListModel() {
public int getSize() { return Short.MAX_VALUE; }
public Object getElementAt(int index) { return "Index " + index; }
};
JList 의 선택 상태는,ListSelectionModel 의 인스턴스인 다른 모델에 의해 관리됩니다. JList 는, 구축시에 선택 모델에 의해 초기화됩니다. JList 에는, 이 선택 모델의 조회나 설정을 실시하는 각 메소드가 포함되어 있습니다. Jlist 는, 선택을 간단하게 관리할 수 있는 편리한 메소드도 제공합니다. 예를 들어 setSelectedIndex,getSelectedValue 등의 커버 메소드에서는, 선택 모델과의 교환의 상세를 관리할 수 있습니다. 디폴트에서는,JList 의 선택 모델은, 임의의 항목의 편성을 한 번에 선택할 수 있도록(듯이) 설정됩니다 (MULTIPLE_INTERVAL_SELECTION 선택 모드). 선택 모드는, 선택 모델상에서 직접 변경하는지,JList 의 커버 메소드를 사용해 변경합니다. 사용자의 제스처(gesture)에 응해 선택 모델을 갱신하는 처리는, 리스트의 ListUI 에 의해 행해집니다.
ListSelectionModel 가 올바르게 구현되고 있으면, 선택이 변경될 때마다 추가된 javax.swing.event.ListSelectionListener 세트에 통지가 보내집니다. 이러한 변경은, 선택 범위의 변경을 식별하는 javax.swing.event.ListSelectionEvent 에 의해 기술됩니다.
리스트 선택의 변경을 대기하는 방법으로서는,JList 에 직접 ListSelectionListener 를 추가하는 것을 추천합니다. 그러자(면),JList 가 선택 모델의 변경을 대기해, 변경이 있었을 경우에 청취자에게 통지를 보내게 됩니다.
리스트의 시각 표현을 항상 최신 상태로 해 두기 (위해)때문에, 선택의 변경을 대기하는 처리는, 리스트의 ListUI 에 의해 행해집니다.
셀 렌더링의 다른 작업은, 리스트의 사이즈 정보의 특정에도 도움이 됩니다. 디폴트에서는, 리스트의
경고: Swing 는 thread에 대해서 안전하지는 않습니다. 자세한 것은,「Swing's Threading Policy」를 참조해 주세요.
경고: 이 클래스의 직렬화 된 객체는, 향후의 Swing 릴리스와 호환은 아니게 될 예정입니다. 현재의 직렬화의 지원는, 단기간의 운용이나, 같은 버젼의 Swing 를 실행하는 어플리케이션간의 RMI 에 적절하고 있습니다. JDK Version 1.4 이후, 모든 JavaBeans™ 의 장기간의 운용 지원는,
자세한 것은,「The Java Tutorial」의「How to Use Lists」를 참조해 주세요. 또,「The Swing Connection」 의「Advanced JList Programming」도 참조해 주세요.
JList 내의 셀의 페인트는, 리스트상에 cellRenderer 프로퍼티으로서 인스톨 된, 셀 렌더링으로 불리는 위양에 의해 처리됩니다. 이 렌더링은, 「고무 스탬프」와 같이 사용해 셀을 페인트 할 수 있는,java.awt.Component 를 제공합니다. 셀을 페인트 할 필요가 생길 때마다, 리스트의 ListUI 는 셀 렌더링에 컴퍼넌트를 요구해, 이 컴퍼넌트를 적절한 위치로 이동한 뒤,paint 메소드를 사용해 셀의 컨텐츠를 그립니다. JLabel 컴퍼넌트를 사용해 draw를 실시하는 디폴트의 셀 렌더링은, 리스트의 ListUI 에 의해 인스톨 됩니다. 다음과 같은 코드에 의해, 독자적인 렌더링을 사용할 수도 있습니다.
// Display an icon and a string for each object in the list.
class MyCellRenderer extends JLabel implements ListCellRenderer {
final static ImageIcon longIcon = new ImageIcon("long.gif");
final static ImageIcon shortIcon = new ImageIcon("short.gif");
// This is the only method defined by ListCellRenderer.
// We just reconfigure the JLabel each time we're called.
public Component getListCellRendererComponent(
JList list, // the list
Object value, // value to display
int index, // cell index
boolean isSelected, // is the cell selected
boolean cellHasFocus) // does the cell have focus
{
String s = value.toString();
setText(s);
setIcon((s.length() > 10) ? longIcon : shortIcon);
if (isSelected) {
setBackground(list.getSelectionBackground());
setForeground(list.getSelectionForeground());
} else {
setBackground(list.getBackground());
setForeground(list.getForeground());
}
setEnabled(list.isEnabled());
setFont(list.getFont());
setOpaque(true);
return this;
}
}
myList.setCellRenderer(new MyCellRenderer());
ListUI 가 셀 렌더링에 각 리스트 항목의 추천 사이즈를 문의하는 것에 의해, 셀의 사이즈를 결정합니다. 리스트의 항목수가 많은 경우, 이 처리는 부하가 커집니다. 이러한 계산을 회피하려면 , 리스트상에 fixedCellWidth 와 fixedCellHeight 를 설정하는지, 이러한 값이 단일의 prototype치에 근거해 자동 계산되도록(듯이) 설정합니다.
JList bigDataList = new JList(bigData);
// We don't want the JList implementation to compute the width
// or height of all of the list cells, so we give it a string
// that's as big as we'll need for any cell. It uses this to
// compute values for the fixedCellWidth and fixedCellHeight
// properties.
bigDataList.setPrototypeCellValue("Index 1234567890");
JList 는 스크롤을 직접 구현하고 있습니다. 스크롤 리스트를 작성하려면 , 이것을 JScrollPane 의 뷰포트뷰로서 설정합니다. 다음에 예를 나타냅니다.
JScrollPane scrollPane = new JScrollPane(myList);
// Or in two steps:
JScrollPane scrollPane = new JScrollPane();
scrollPane.getViewport(). setView(myList);
JList 는, 더블 클릭이나 트리플 클릭 (또는 그 이상의 회수의 클릭)과 같이 특별한 처리는 실시하지 않습니다만, 이러한 이벤트의 발생시에 액션을 실행하고 싶은 경우는,MouseListener 를 간단하게 추가할 수 있습니다. 클릭된 셀을 조사하려면 ,locationToIndex 메소드를 사용합니다. 다음에 예를 나타냅니다.
MouseListener mouseListener = new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
int index = list.locationToIndex(e.getPoint());
System.out.println("Double clicked on Item " + index);
}
}
};
list.addMouseListener(mouseListener);
java.beans 패키지에 추가되고 있습니다. 자세한 것은,XMLEncoder 를 참조해 주세요.
ListModel ,
AbstractListModel ,
DefaultListModel ,
ListSelectionModel ,
DefaultListSelectionModel ,
ListCellRenderer ,
DefaultListCellRenderer
| 상자의 클래스의 개요 | |
|---|---|
protected class |
JList.AccessibleJList
이 클래스는 JList 클래스용의 접근성? 지원를 구현하고 있습니다. |
static class |
JList.DropLocation
JList 의 드롭 위치를 나타내는 TransferHandler.DropLocation 의 서브 클래스입니다. |
| 클래스 javax.swing. JComponent 로부터 상속된 상자의 클래스/인터페이스 |
|---|
JComponent.AccessibleJComponent |
| 클래스 java.awt. Container 로부터 상속된 상자의 클래스/인터페이스 |
|---|
Container.AccessibleAWTContainer |
| 클래스 java.awt. Component 로부터 상속된 상자의 클래스/인터페이스 |
|---|
Component.AccessibleAWTComponent , Component.BaselineResizeBehavior , Component.BltBufferStrategy , Component.FlipBufferStrategy |
| 필드의 개요 | |
|---|---|
static int |
HORIZONTAL_WRAP
셀이 수평 방향의 다음에 수직 방향의 순서로 나란해지는 「신문 스타일」레이아웃을 나타냅니다. |
static int |
VERTICAL
셀을 수직 방향으로 1 열에 늘어놓은 레이아웃 (디폴트)을 나타냅니다. |
static int |
VERTICAL_WRAP
셀이 수직 방향의 다음에 수평 방향의 순서로 나란해지는 「신문 스타일」레이아웃을 나타냅니다. |
| 클래스 javax.swing. JComponent 로부터 상속된 필드 |
|---|
accessibleContext , listenerList , TOOL_TIP_TEXT_KEY , ui , UNDEFINED_CONDITION , WHEN_ANCESTOR_OF_FOCUSED_COMPONENT , WHEN_FOCUSED , WHEN_IN_FOCUSED_WINDOW |
| 클래스 java.awt. Component 로부터 상속된 필드 |
|---|
BOTTOM_ALIGNMENT , CENTER_ALIGNMENT , LEFT_ALIGNMENT , RIGHT_ALIGNMENT , TOP_ALIGNMENT |
| 인터페이스 java.awt.image. ImageObserver 로부터 상속된 필드 |
|---|
ABORT , ALLBITS , ERROR , FRAMEBITS , HEIGHT , PROPERTIES , SOMEBITS , WIDTH |
| 생성자 의 개요 | |
|---|---|
JList ()
빈 상태(empty)의 읽기 전용 모델로 JList 를 구축합니다. |
|
JList (ListModel dataModel)
지정된 null 이외의 모델의 요소를 표시하는 JList 를 구축합니다. |
|
JList (Object [] listData)
지정된 배열의 요소를 표시하는 JList 를 구축합니다. |
|
JList (Vector <? > listData)
지정된 Vector 의 요소를 표시하는 JList 를 구축합니다. |
|
| 메소드의 개요 | |
|---|---|
void |
addListSelectionListener (ListSelectionListener listener)
선택이 변경될 때마다 통지되는 리스트에 청취자를 추가합니다. |
void |
addSelectionInterval (int anchor,
int lead)
지정된 구간을 현재의 선택에 가세합니다. |
void |
clearSelection ()
선택을 클리어 합니다. |
protected ListSelectionModel |
createSelectionModel ()
리스트의 선택 모델 프로퍼티을 초기화하기 위해(때문에), 구축중에 불려 가는 DefaultListSelectionModel 의 인스턴스를 돌려줍니다. |
void |
ensureIndexIsVisible (int index)
포위측의 뷰포트내의 리스트를 스크롤 해, 지정된 셀을 완전하게 가시로 합니다. |
protected void |
fireSelectionValueChanged (int firstIndex,
int lastIndex,
boolean isAdjusting)
선택의 리스트에 직접 추가된 ListSelectionListener 에, 선택 모델로 변경이 더해진 것을 통지합니다. |
AccessibleContext |
getAccessibleContext ()
이 JList 에 관련한 AccessibleContext 를 가져옵니다. |
int |
getAnchorSelectionIndex ()
엥커 선택 인덱스를 돌려줍니다. |
Rectangle |
getCellBounds (int index0,
int index1)
2 개의 인덱스로 지정된 셀의 범위를 나타내는, 리스트의 좌표계내의 경계의 구형을 돌려줍니다. |
ListCellRenderer |
getCellRenderer ()
리스트 항목을 페인트 하는 객체를 돌려줍니다. |
boolean |
getDragEnabled ()
자동 드래그 처리가 유효한지 어떤지를 돌려줍니다. |
JList.DropLocation |
getDropLocation ()
이 컴퍼넌트가 컴퍼넌트의 드래그&드롭시에 드롭 위치로서 시각적으로 가리키는 위치를 돌려줍니다. |
DropMode |
getDropMode ()
이 컴퍼넌트의 드롭 모드를 돌려줍니다. |
int |
getFirstVisibleIndex ()
현재 표시되고 있는 최소의 리스트 인덱스를 돌려줍니다. |
int |
getFixedCellHeight ()
fixedCellHeight 프로퍼티의 값을 돌려줍니다. |
int |
getFixedCellWidth ()
fixedCellWidth 프로퍼티의 값을 돌려줍니다. |
int |
getLastVisibleIndex ()
현재 표시되고 있는 최대의 리스트 인덱스를 돌려줍니다. |
int |
getLayoutOrientation ()
리스트의 레이아웃 방향의 프로퍼티을 돌려줍니다. |
int |
getLeadSelectionIndex ()
선택 범위의 리드 인덱스를 돌려줍니다. |
ListSelectionListener [] |
getListSelectionListeners ()
addListSelectionListener 에 의해, 이 JList 에 추가된 모든 ListSelectionListener 의 배열을 돌려줍니다. |
int |
getMaxSelectionIndex ()
선택되고 있는 셀의 최대 인덱스를 돌려주는지, 선택 범위가 빈 상태(empty)의 경우는 -1 을 돌려줍니다. |
int |
getMinSelectionIndex ()
선택되고 있는 셀의 최소 인덱스를 돌려주는지, 선택 범위가 빈 상태(empty)의 경우는 -1 을 돌려줍니다. |
ListModel |
getModel ()
JList 컴퍼넌트에 의해 표시되는 항목의 리스트를 보관 유지하는 데이터 모델을 돌려줍니다. |
int |
getNextMatch (String prefix,
int startIndex,
Position.Bias bias)
지정된 접두사로 시작되는, toString 치를 가지는 다음의 리스트 요소를 돌려줍니다. |
Dimension |
getPreferredScrollableViewportSize ()
visibleRowCount 의 행을 표시하기 위해서 필요한 뷰포트의 사이즈를 계산합니다. |
Object |
getPrototypeCellValue ()
셀의 고정폭과 고정의 높이를 계산하기 위해서 사용하는 값, 「prototype」셀치를 돌려줍니다. |
int |
getScrollableBlockIncrement (Rectangle visibleRect,
int orientation,
int direction)
다음 또는 전의 블록을 표시하기 위해서 스크롤 하는 거리를 돌려줍니다. |
boolean |
getScrollableTracksViewportHeight ()
이 JList 가 JViewport 내에 표시되어 뷰포트의 폭이 리스트의 적절한 높이보다 높은 경우, 또는 레이아웃 방향이 VERTICAL_WRAP 로 visibleRowCount <= 0 인 경우,true 를 돌려줍니다. |
boolean |
getScrollableTracksViewportWidth ()
이 JList 가 JViewport 내에 표시되어 뷰포트의 폭이 리스트의 적절한 폭보다 넓은 경우, 또는 레이아웃 방향이 HORIZONTAL_WRAP 로 visibleRowCount <= 0 인 경우,true 를 돌려줍니다. |
int |
getScrollableUnitIncrement (Rectangle visibleRect,
int orientation,
int direction)
다음 또는 전의 행 (수직 스크롤) 또는 열 (수평 스크롤)을 표시하기 위해서 스크롤 하는 거리를 돌려줍니다. |
int |
getSelectedIndex ()
선택되고 있는 셀의 최소 인덱스 (리스트내의 항목이 1 개만 선택되고 있는 경우는 「선택」)를 돌려줍니다. |
int[] |
getSelectedIndices ()
선택 떠날 수 있어 모든 인덱스의 승순 배열을 돌려줍니다. |
Object |
getSelectedValue ()
선택되고 있는 셀의 최소 인덱스의 값 (리스트내의 항목이 1 개만 선택되고 있는 경우는 「선택치」)을 돌려줍니다. |
Object [] |
getSelectedValues ()
선택 떠날 수 있어 모든 값을, 리스트내의 인덱스에 근거해 승순의 배열로 해 돌려줍니다. |
Color |
getSelectionBackground ()
선택된 항목의 백그라운드의 draw에 사용하는 색을 돌려줍니다. |
Color |
getSelectionForeground ()
선택된 항목의 foreground의 draw에 사용하는 색을 돌려줍니다. |
int |
getSelectionMode ()
리스트의 현재의 선택 모드를 돌려줍니다. |
ListSelectionModel |
getSelectionModel ()
현재의 선택 모델을 돌려줍니다. |
String |
getToolTipText (MouseEvent event)
지정된 이벤트로 사용되는 툴팁 텍스트를 돌려줍니다. |
ListUI |
getUI ()
이 컴퍼넌트를 draw 하는 Look & Feel 객체 ListUI 를 돌려줍니다. |
String |
getUIClassID ()
이 컴퍼넌트의 Look & Feel 를 정의하는 javax.swing.plaf.ListUI 클래스의 이름을 검색하기 위해서 사용하는 UIDefaults 키,「ListUI」를 돌려줍니다. |
boolean |
getValueIsAdjusting ()
선택 모델의 isAdjusting 프로퍼티의 값을 돌려줍니다. |
int |
getVisibleRowCount ()
visibleRowCount 프로퍼티의 값을 돌려줍니다. |
Point |
indexToLocation (int index)
리스트의 좌표계내의 지정된 항목의 원점을 돌려줍니다. |
boolean |
isSelectedIndex (int index)
지정의 인덱스가 선택되고 있는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다. |
boolean |
isSelectionEmpty ()
아무것도 선택되어 있지 않은 경우는 true, 그 이외의 경우는 false 를 돌려줍니다. |
int |
locationToIndex (Point location)
리스트의 좌표계내의 지정된 위치에 가장 가까운 셀 인덱스를 돌려줍니다. |
protected String |
paramString ()
이 JList 의 String 표현을 돌려줍니다. |
void |
removeListSelectionListener (ListSelectionListener listener)
리스트로부터 선택 청취자를 삭제합니다. |
void |
removeSelectionInterval (int index0,
int index1)
선택 범위를, 지정된 구간과 현재의 선택 범위와의 차이 집합으로 설정합니다. |
void |
setCellRenderer (ListCellRenderer cellRenderer)
리스트내의 각 셀을 페인트 하기 위해서 사용되는 위양을 설정합니다. |
void |
setDragEnabled (boolean b)
자동 드래그 처리를 온 또는 오프로 합니다. |
void |
setDropMode (DropMode dropMode)
이 컴퍼넌트의 드롭 모드를 설정합니다. |
void |
setFixedCellHeight (int height)
리스트에 포함되는 모든 셀의 높이로서 사용하는 고정치를 설정합니다. |
void |
setFixedCellWidth (int width)
리스트에 포함되는 모든 셀의 폭으로서 사용하는 고정치를 설정합니다. |
void |
setLayoutOrientation (int layoutOrientation)
리스트의 셀의 배치 방법을 정의하는 5 개의 셀로부터 완성되는 JList 가 있다고 합니다. |
void |
setListData (Object [] listData)
객체의 배열로부터 읽어내 전용 ListModel 를 구축해, 이 모델을 사용해 setModel 를 호출합니다. |
void |
setListData (Vector <? > listData)
Vector 로부터 읽어내 전용 ListModel 를 구축해, 이 모델을 사용해 setModel 를 호출합니다. |
void |
setModel (ListModel model)
리스트의 내용 또는 「값」을 나타내는 모델을 설정해, 청취자로 프로퍼티의 변경을 통지해, 리스트의 선택을 클리어 합니다. |
void |
setPrototypeCellValue (Object prototypeCellValue)
prototypeCellValue 프로퍼티을 설정해, 새로운 값이 null 이외 인 경우는, 셀 렌더링 컴퍼넌트에 셀 렌더링으로부터의 지정의 값 ( 및 인덱스 0)을 요구해, 이 컴퍼넌트의 추천 사이즈를 사용해,fixedCellWidth 프로퍼티과 fixedCellHeight 프로퍼티을 계산합니다. |
void |
setSelectedIndex (int index)
단일 셀을 선택합니다. |
void |
setSelectedIndices (int[] indices)
선택을, 지정의 배열에 의해 나타나는 일련의 인덱스로 변경합니다. |
void |
setSelectedValue (Object anObject,
boolean shouldScroll)
지정된 객체를 리스트로부터 선택합니다. |
void |
setSelectionBackground (Color selectionBackground)
선택된 항목의 백그라운드의 draw에 사용하는 색 (셀 렌더링이 선택한 셀의 전부 칠해에 사용할 수 있는 색)을 설정합니다. |
void |
setSelectionForeground (Color selectionForeground)
선택된 항목의 foreground의 draw에 사용하는 색 (셀 렌더링이 텍스트와 그래픽스의 draw에 사용할 수 있는 색)을 설정합니다. |
void |
setSelectionInterval (int anchor,
int lead)
지정된 구간을 선택합니다. |
void |
setSelectionMode (int selectionMode)
리스트의 선택 모드를 설정합니다. |
void |
setSelectionModel (ListSelectionModel selectionModel)
리스트의 selectionModel 를 null 가 아닌 ListSelectionModel 구현으로 설정합니다. |
void |
setUI (ListUI ui)
이 컴퍼넌트를 draw 하는 Look & Feel 객체 ListUI 를 설정합니다. |
void |
setValueIsAdjusting (boolean b)
선택 모델의 valueIsAdjusting 프로퍼티을 설정합니다. |
void |
setVisibleRowCount (int visibleRowCount)
visibleRowCount 프로퍼티 (레이아웃 방향에 의해 의미가 다르다)을 설정합니다. |
void |
updateUI ()
ListUI 프로퍼티에 현재의 Look & Feel 가 제공하는 값을 설정하는 것으로써, 이 프로퍼티을 리셋 합니다. |
| 클래스 java.lang. Object 로부터 상속된 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , wait , wait , wait |
| 필드의 상세 |
|---|
public static final int VERTICAL
setLayoutOrientation(int) ,
정수 필드치 public static final int VERTICAL_WRAP
setLayoutOrientation(int) ,
정수 필드치 public static final int HORIZONTAL_WRAP
setLayoutOrientation(int) ,
정수 필드치 | 생성자 의 상세 |
|---|
public JList(ListModel dataModel)
null 이외의 모델의 요소를 표시하는 JList 를 구축합니다. 모든 JList 생성자 은, 이 객체에 위양 합니다.
이 생성자 은,ToolTipManager 에 리스트를 등록하는 것으로써, 셀 렌더링의 툴팁가 제공되도록(듯이) 합니다.
dataModel - 리스트의 모델
IllegalArgumentException - 모델이 null 의 경우public JList(Object [] listData)
JList 를 구축합니다. 이 생성자 은, 지정된 배열의 읽기 전용 모델을 작성해,ListModel 를 취하는 생성자 에 위양 합니다.
이 메소드에 null 치를 건네주려고 하면(자), 불확정인 동작이 생겨 한층 더 많은 경우는 예외가 발생합니다. 작성된 모델은, 지정된 배열을 직접 참조합니다. 리스트의 작성 후로 배열을 변경하려고 하면(자), 불확정인 동작이 생깁니다.
listData - 데이터 모델에 로드 되는 Object 의 배열. null 이외public JList(Vector <? > listData)
Vector 의 요소를 표시하는 JList 를 구축합니다. 이 생성자 은, 지정된 Vector 의 읽기 전용 모델을 작성해,ListModel 를 취하는 생성자 에 위양 합니다.
이 메소드에 null 치를 건네주려고 하면(자), 불확정인 동작이 생겨 한층 더 많은 경우는 예외가 발생합니다. 작성된 모델은, 지정된 Vector 를 직접 참조합니다. 리스트의 작성 후로 Vector 를 변경하려고 하면(자), 불확정인 동작이 생깁니다.
listData - 데이터 모델에 로드 되는 Vector. null 이외public JList()
JList 를 구축합니다.
| 메소드의 상세 |
|---|
public ListUI getUI()
ListUI 를 돌려줍니다.
ListUI 객체public void setUI(ListUI ui)
ListUI 를 설정합니다.
ui - ListUI 객체UIDefaults.getUI(javax.swing.JComponent) public void updateUI()
ListUI 프로퍼티에 현재의 Look & Feel 가 제공하는 값을 설정하는 것으로써, 이 프로퍼티을 리셋 합니다. 현재의 셀 렌더링이 Look & Feel 에 의해서가 아니라 개발자에 의해 인스톨 된 것인 경우, 이 처리를 실행하면(자),SwingUtilities.updateComponentTreeUI 가 불려 가, 셀 렌더링과 그 아이가 갱신됩니다.
JComponent 내의 updateUI UIManager.getUI(javax.swing.JComponent) ,
SwingUtilities.updateComponentTreeUI(java.awt.Component) public String getUIClassID()
javax.swing.plaf.ListUI 클래스의 이름을 검색하기 위해서 사용하는 UIDefaults 키,「ListUI」를 돌려줍니다.
JComponent 내의 getUIClassID JComponent.getUIClassID() ,
UIDefaults.getUI(javax.swing.JComponent) public Object getPrototypeCellValue()
null 가 돌려주어질 가능성이 있습니다.
prototypeCellValue 프로퍼티의 값setPrototypeCellValue(java.lang.Object) public void setPrototypeCellValue(Object prototypeCellValue)
prototypeCellValue 프로퍼티을 설정해, 새로운 값이 null 이외 인 경우는, 셀 렌더링 컴퍼넌트에 셀 렌더링으로부터의 지정의 값 ( 및 인덱스 0)을 요구해, 이 컴퍼넌트의 추천 사이즈를 사용해,fixedCellWidth 프로퍼티과 fixedCellHeight 프로퍼티을 계산합니다.
리스트가 너무 길어 ListUI 가 각 셀의 폭과 높이를 계산하지 못하고, 다른 셀과 같은 스페이스를 점유 하는 것을 알 수 있고 있는 셀치 (prototype)가 있는 경우에는, 이 메소드가 편리합니다.
prototypeCellValue,fixedCellHeight,fixedCellWidth 의 3 개의 프로퍼티은 모두 이 메소드로 변경할 수 있습니다만,PropertyChangeEvent 통지가 송신되는 것은,prototypeCellValue 프로퍼티이 변경되었을 경우에 한정됩니다.
이 프로퍼티의 설정예를 참조하려면 , 상기의클래스의 설명을 참조해 주세요.
이 프로퍼티의 디폴트 값는 null 입니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
prototypeCellValue - fixedCellWidth 및 fixedCellHeight 의 베이스가 되는 값getPrototypeCellValue() ,
setFixedCellWidth(int) ,
setFixedCellHeight(int) ,
Container.addPropertyChangeListener(java.beans.PropertyChangeListener) public int getFixedCellWidth()
fixedCellWidth 프로퍼티의 값을 돌려줍니다.
setFixedCellWidth(int) public void setFixedCellWidth(int width)
width 가 -1 의 경우, 리스트의 각 요소의 셀 렌더링 컴퍼넌트에 getPreferredSize 를 적용하는 것으로써,ListUI 로 셀의 폭이 계산됩니다.
이 프로퍼티의 디폴트 값는 -1 입니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
width - 리스트내의 모든 셀의 폭setPrototypeCellValue(java.lang.Object) ,
setFixedCellWidth(int) ,
Container.addPropertyChangeListener(java.beans.PropertyChangeListener) public int getFixedCellHeight()
fixedCellHeight 프로퍼티의 값을 돌려줍니다.
setFixedCellHeight(int) public void setFixedCellHeight(int height)
height 가 -1 의 경우, 리스트의 각 요소의 셀 렌더링 컴퍼넌트에 getPreferredSize 를 적용하는 것으로써,ListUI 로 셀의 높이가 계산됩니다.
이 프로퍼티의 디폴트 값는 -1 입니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
height - 리스트내의 모든 셀의 높이setPrototypeCellValue(java.lang.Object) ,
setFixedCellWidth(int) ,
Container.addPropertyChangeListener(java.beans.PropertyChangeListener) public ListCellRenderer getCellRenderer()
cellRenderer 프로퍼티의 값setCellRenderer(javax.swing.ListCellRenderer) public void setCellRenderer(ListCellRenderer cellRenderer)
prototypeCellValue 프로퍼티이 null 이외인 경우는, 셀 렌더링을 설정하면(자),fixedCellWidth 프로퍼티과 fixedCellHeight 프로퍼티이 재계산됩니다. 그러나,cellRenderer 프로퍼티에 대해서는 PropertyChangeEvent 는 1 개만 생성됩니다.
이 프로퍼티의 디폴트 값는 ListUI 위양 (Look & Feel 의 구현)에 의해 제공됩니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
cellRenderer - 리스트의 셀을 페인트 한다
ListCellRenderergetCellRenderer() public Color getSelectionForeground()
ListUI 구현에 의해 인스톨 된 렌더링과 같게,DefaultListCellRenderer 는, 이 색을 사용해, 선택되고 있는 항목의 foreground를 draw 합니다.
setSelectionForeground(java.awt.Color) ,
DefaultListCellRenderer public void setSelectionForeground(Color selectionForeground)
ListUI 구현에 의해 인스톨 된 렌더링과 같게,DefaultListCellRenderer 는, 이 색을 사용해, 선택되고 있는 항목의 foreground를 draw 합니다. 이 프로퍼티의 디폴트 값는, Look & Feel 의 구현에 의해 정의됩니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
selectionForeground - 선택된 리스트 항목의 foreground로 사용하는 ColorgetSelectionForeground() ,
setSelectionBackground(java.awt.Color) ,
JComponent.setForeground(java.awt.Color) ,
JComponent.setBackground(java.awt.Color) ,
JComponent.setFont(java.awt.Font) ,
DefaultListCellRenderer public Color getSelectionBackground()
ListUI 구현에 의해 인스톨 된 렌더링과 같게,DefaultListCellRenderer 는, 이 색을 사용해, 선택되고 있는 항목의 백그라운드를 draw 합니다.
setSelectionBackground(java.awt.Color) ,
DefaultListCellRenderer public void setSelectionBackground(Color selectionBackground)
ListUI 구현에 의해 인스톨 된 렌더링과 같게,DefaultListCellRenderer 는, 이 색을 사용해, 선택되고 있는 항목의 백그라운드를 전부 칠합니다. 이 프로퍼티의 디폴트 값는, Look & Feel 의 구현에 의해 정의됩니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
selectionBackground - 선택된 셀의 백그라운드에서 사용하는 ColorgetSelectionBackground() ,
setSelectionForeground(java.awt.Color) ,
JComponent.setForeground(java.awt.Color) ,
JComponent.setBackground(java.awt.Color) ,
JComponent.setFont(java.awt.Font) ,
DefaultListCellRenderer public int getVisibleRowCount()
visibleRowCount 프로퍼티의 값을 돌려줍니다. 이 값의 해석 방법의 상세한 것에 대하여는,setVisibleRowCount(int) 의 문서를 참조해 주세요.
visibleRowCount 프로퍼티의 값setVisibleRowCount(int) public void setVisibleRowCount(int visibleRowCount)
visibleRowCount 프로퍼티 (레이아웃 방향에 의해 의미가 다르다)을 설정합니다. 레이아웃 방향이 VERTICAL 의 경우, 스크롤 하지 않고 표시할 수 있는 적절한 행수가 설정됩니다. 이외의 방향의 경우, 셀의 즉시에 영향이 있습니다.
VERTICAL 방향의 경우:
이 프로퍼티을 설정하면(자), 포위측의 뷰포트의 추천 사이즈의 계산에 사용되는,getPreferredScrollableViewportSize() 메소드의 반환값에 영향이 있습니다. 자세한 것은, 해당 메소드의 문서를 참조해 주세요.
HORIZONTAL_WRAP 방향 또는 VERTICAL_WRAP 방향의 경우:
셀의 즉시 방법으로 영향이 있습니다. 자세한 것은,setLayoutOrientation(int) 의 문서를 참조해 주세요.
이 프로퍼티의 디폴트 값는 8 입니다.
0 보다 작은 값을 지정해 이 메소드를 호출했을 경우, 프로퍼티이 0 으로 설정됩니다.
이것은 JavaBeans 바운드 프로퍼티입니다.
visibleRowCount - 스크롤 하지 않고 표시할 수 있는 적절한 행수를 지정하는 정수getVisibleRowCount() ,
getPreferredScrollableViewportSize() ,
setLayoutOrientation(int) ,
JComponent.getVisibleRect() ,
JViewport public int getLayoutOrientation()
VERTICAL, 컨텐츠가 수직 방향의 다음에 수평 방향의 순서에 줄선 「신문 스타일」의 경우는 VERTICAL_WRAP, 컨텐츠가 수평 방향의 다음에 수직 방향의 순서에 줄선 「신문 스타일」의 경우는 HORIZONTAL_WRAP 를 돌려줍니다.
layoutOrientation 프로퍼티의 값setLayoutOrientation(int) public void setLayoutOrientation(int layoutOrientation)
JList 가 있다고 합니다. 셀의 레이아웃 방법은, 다음의 어떤 것인가가 됩니다.
VERTICAL: 0
1
2
3
4
HORIZONTAL_WRAP: 0 1 2
3 4
VERTICAL_WRAP: 0 3
1 4
2
이러한 레이아웃의 설명은, 다음과 같습니다.
값 | 설명 |
|---|---|
VERTICAL
| 셀은 수직 방향으로 1 열에 배치됩니다. |
HORIZONTAL_WRAP
| 셀은 수평 방향으로 배치되어 필요에 따라서 다음의 행에 되접어 꺾입니다. visibleRowCount 프로퍼티의 값이 제로 이하인 경우, 즉시는 리스트의 폭에 의해 결정됩니다. 그 이외의 경우, 리스트내에 visibleRowCount 행이 확보되도록(듯이) 즉시를 합니다.
|
VERTICAL_WRAP
| 셀은 수직 방향으로 배치되어 필요에 따라서 다음의 열에 되접어 꺾입니다. visibleRowCount 프로퍼티의 값이 제로 이하인 경우, 즉시는 리스트의 높이에 의해 결정됩니다. 그 이외의 경우,visibleRowCount 행으로 즉시를 합니다.
|
이 프로퍼티의 디폴트 값는 VERTICAL 입니다.
layoutOrientation - 새로운 레이아웃 방향. VERTICAL,HORIZONTAL_WRAP, 또는 VERTICAL_WRAP 의 어떤 것인가
IllegalArgumentException - layoutOrientation 가 허용치의 어떤 것도 아닌 경우getLayoutOrientation() ,
setVisibleRowCount(int) ,
getScrollableTracksViewportHeight() ,
getScrollableTracksViewportWidth() public int getFirstVisibleIndex()
componentOrientation 가 왼쪽에서 오른쪽인 경우, 최초의 가시 셀은 리스트의 좌상구석에 가장 가까운 위치에 발견됩니다. componentOrientation 가 오른쪽에서 왼쪽인 경우, 최초의 가시 셀은 리스트의 우상구석에 가장 가까운 위치에 발견됩니다. 어느 셀도 가시가 아닌 경우나 리스트가 빈 상태(empty)인 경우에는 -1 을 돌려줍니다. 반환된 셀은 부분적으로 가시에서도 괜찮습니다.
getLastVisibleIndex() ,
JComponent.getVisibleRect() public int getLastVisibleIndex()
-1 을 돌려줍니다. 반환된 셀은 부분적으로 가시에서도 괜찮습니다.
getFirstVisibleIndex() ,
JComponent.getVisibleRect() public void ensureIndexIsVisible(int index)
scrollRectToVisible 와 지정된 셀의 경계가 불려 갑니다. 이 메소드를 유효하게 하려면 ,JList 가 JViewport 내에 존재할 필요가 있습니다. 지정된 인덱스가 리스트의 셀의 범위외에 있는 경우, 이 메소드는 아무것도 실시하지 않습니다.
index - 가시로 하는 셀의 인덱스JComponent.scrollRectToVisible(java.awt.Rectangle) ,
JComponent.getVisibleRect() public void setDragEnabled(boolean b)
true 로 설정해, 리스트의 TransferHandler 의 값을 null 이외 로 해 주세요. dragEnabled 프로퍼티의 디폴트 값는 false 입니다.
이 프로퍼티을 받아들여 사용자의 드래그 제스처(gesture)를 인식하는 처리는, Look & Feel 구현 (특히 리스트의 ListUI)에 의해 행해집니다. 자동 드래그 처리가 유효한 경우, 대부분의 Look & Feel (BasicLookAndFeel 의 서브 클래스의 Look & Feel 를 포함한다)는, 사용자가 항목 위에서 mouse button를 눌러, 마우스를 수픽셀 이동하면(자), 드래그&드롭 조작을 개시합니다. 따라서, 이 프로퍼티을 true 로 설정하면(자), 선택의 동작에 미묘한 효과가 있습니다.
이 프로퍼티을 무시하는 것 같은 Look & Feel 를 사용하고 있는 경우도, 리스트의 TransferHandler 상에서 exportAsDrag 를 호출하는 것으로, 드래그&드롭 조작을 개시할 수 있습니다.
b - 자동 드래그 처리를 유효하게 할지 어떨지
HeadlessException - b 가 true 의 경우로 GraphicsEnvironment.isHeadless() 가 true 를 돌려주는 경우GraphicsEnvironment.isHeadless() ,
getDragEnabled() ,
JComponent.setTransferHandler(javax.swing.TransferHandler) ,
TransferHandler public boolean getDragEnabled()
dragEnabled 프로퍼티의 값setDragEnabled(boolean) public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION 가 되어 있습니다. 다만, 사용자측의 조작을 개선하는 경우는, 다른 모드를 사용하는 것을 추천합니다. 예를 들어,DropMode.ON 는, 리스트내의 실제의 선택 내용에 영향을 미치는 일 없이, 선택된 것처럼 항목을 표시하는 동작과 닮은 동작을 제공합니다.
JList 는 다음의 드롭 모드를 지원하고 있습니다.
DropMode.USE_SELECTIONDropMode.ONDropMode.INSERTDropMode.ON_OR_INSERTTransferHandler 를 가지고 있지 않으면, 드롭 모드의 효과는 없습니다.
dropMode - 사용하는 드롭 모드
IllegalArgumentException - 드롭 모드가 지원되어 있지 않은가 null 의 경우getDropMode() ,
getDropLocation() ,
JComponent.setTransferHandler(javax.swing.TransferHandler) ,
TransferHandler public final DropMode getDropMode()
setDropMode(javax.swing.DropMode) public final JList.DropLocation getDropLocation()
null 를 돌려줍니다.
이 메소드는,TransferHandler 로부터 드롭 위치를 조회하는 수단으로는 되지 않습니다. 드롭 위치는,TransferHandler 의 canImport 가 돌려주어져 드롭 위치를 표시할 준비를 할 수 있고 나서 설정되기 때문입니다.
이 프로퍼티이 변경되면(자), 컴퍼넌트에 의해, 프로퍼티 변경 이벤트 dropLocation 가 트리거됩니다.
디폴트에서는, 이 프로퍼티에 대한 변경을 대기해, 드롭 위치를 시각적으로 가리키는 처리는, 리스트의 ListUI 가 실시합니다. 이 ListUI 는, 드롭 위치를 직접 페인트 하는지, 셀 렌더링을 인스톨 해 이 처리를 실시하게 하는지, 또는 그 양쪽 모두의 처리를 실시할 가능성이 있습니다. 커스텀 드롭 위치의 페인트를 구현하는지, 디폴트의 셀 렌더링을 옮겨놓는지, 또는 그 양쪽 모두의 처리를 실시하는 개발자는, 이 프로퍼티을 고려할 필요가 있는 경우가 있습니다.
setDropMode(javax.swing.DropMode) ,
TransferHandler.canImport(TransferHandler.TransferSupport)
public int getNextMatch(String prefix,
int startIndex,
Position.Bias bias)
toString 치를 가지는 다음의 리스트 요소를 돌려줍니다.
prefix - 일치를 테스트하는 캐릭터 라인startIndex - 검색을 개시하는 인덱스bias - 검색 방향. Position.Bias.Forward, 또는 Position.Bias.Backward
-1
IllegalArgumentException - 접두사가 null 또는 startIndex 가 범위외에 있는 경우public String getToolTipText(MouseEvent event)
JComponent 의 getToolTipText 를 오버라이드(override) 해, 우선 이벤트가 발생한 셀의 셀 렌더링 컴퍼넌트를 체크해, 툴팁 텍스트가 있으면, 그것을 돌려줍니다. 이 구현에서는, 셀 렌더링 컴퍼넌트에 대해서 setToolTipText 를 사용하는 것으로써, 셀 레벨로 툴팁 텍스트를 지정할 수 있습니다.
JList 가 이 방법으로 렌더링의 툴팁를 적절히 표시하기 위해서는,JList 가 ToolTipManager 에 등록을 마친 컴퍼넌트가 아니면 안됩니다. 이 등록은, 생성자 으로 자동적으로 행해집니다. 다만, 그 후 setToolTipText(null) 의 호출에 의해 JList 의 등록이 해제되었을 경우, 렌더링으로부터의 힌트는 표시되지 않게 됩니다.
JComponent 내의 getToolTipText event - 툴팁 텍스트를 취득하는 MouseEventJComponent.setToolTipText(java.lang.String) ,
JComponent.getToolTipText() public int locationToIndex(Point location)
getCellBounds 의 규정 대로, 점과 셀의 경계를 비교합니다. 이 메소드는, 모델이 빈 상태(empty)의 경우,-1 를 돌려줍니다.
이것은, 리스트의 ListUI 내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI 가 없는 경우,-1 를 돌려줍니다.
location - 점의 좌표
-1public Point indexToLocation(int index)
null 를 돌려줍니다.
이것은, 리스트의 ListUI 내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI 가 없는 경우,null 를 돌려줍니다.
index - 셀의 인덱스
null
public Rectangle getCellBounds(int index0,
int index1)
작은 편의 인덱스가 리스트의 셀의 범위외에 있는 경우, 이 메소드는 null 를 돌려줍니다. 작은 편의 인덱스가 유효해도, 큰 편의 인덱스가 리스트의 범위외에 있는 경우, 최초의 인덱스의 경계만이 돌려주어집니다. 그렇지 않은 경우, 유효한 범위의 경계가 돌려주어집니다.
이것은, 리스트의 ListUI 내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI 가 없는 경우,null 를 돌려줍니다.
index0 - 범위의 선두의 인덱스index1 - 범위의 2 번째의 인덱스
nullpublic ListModel getModel()
JList 컴퍼넌트에 의해 표시되는 항목의 리스트를 보관 유지하는 데이터 모델을 돌려줍니다.
ListModelsetModel(javax.swing.ListModel) public void setModel(ListModel model)
이것은 JavaBeans 바운드 프로퍼티입니다.
model - 표시되는 항목의 리스트를 제공한다
ListModel
IllegalArgumentException - model 가
null 의 경우getModel() ,
clearSelection() public void setListData(Object [] listData)
ListModel 를 구축해, 이 모델을 사용해 setModel 를 호출합니다.
이 메소드에 null 치를 건네주려고 하면(자), 불확정인 동작이 생겨 한층 더 많은 경우는 예외가 발생합니다. 작성된 모델은, 지정된 배열을 직접 참조합니다. 이 메소드의 호출 후로 배열을 변경하려고 하면(자), 불확정인 동작이 생깁니다.
listData - 리스트에 표시하는 항목을 보관 유지하는 Object 의 배열setModel(javax.swing.ListModel) public void setListData(Vector <? > listData)
Vector 로부터 읽어내 전용 ListModel 를 구축해, 이 모델을 사용해 setModel 를 호출합니다.
이 메소드에 null 치를 건네주려고 하면(자), 불확정인 동작이 생겨 한층 더 많은 경우는 예외가 발생합니다. 작성된 모델은, 지정된 Vector 를 직접 참조합니다. 이 메소드의 호출 후로 Vector 를 변경하려고 하면(자), 불확정인 동작이 생깁니다.
listData - 리스트에 표시하는 항목을 보관 유지하는 VectorsetModel(javax.swing.ListModel) protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel 의 인스턴스를 돌려줍니다.
DefaultListSelectionModelsetSelectionModel(javax.swing.ListSelectionModel) ,
DefaultListSelectionModel public ListSelectionModel getSelectionModel()
ListSelectionModelsetSelectionModel(javax.swing.ListSelectionModel) ,
ListSelectionModel
protected void fireSelectionValueChanged(int firstIndex,
int lastIndex,
boolean isAdjusting)
ListSelectionListener 에, 선택 모델로 변경이 더해진 것을 통지합니다. JList 는, 선택 모델내의 선택에 대한 변경을 대기해, 이 메소드를 호출하는 것으로, 리스트에 직접 추가된 청취자에게 통지를 보냅니다.
이 메소드는, 이 리스트를 소스로 해, 지정의 인수를 사용해,ListSelectionEvent 를 구축합니다. 게다가 이 ListSelectionEvent 를 등록을 마친 ListSelectionListener 에 송신합니다.
firstIndex - 범위내의 최초의 인덱스,<= lastIndexlastIndex - 범위내의 마지막 인덱스,>= firstIndexisAdjusting - 이 이벤트가 변경중의 일련의 이벤트에 포함되어 있는지 어떤지addListSelectionListener(javax.swing.event.ListSelectionListener) ,
removeListSelectionListener(javax.swing.event.ListSelectionListener) ,
ListSelectionEvent ,
EventListenerList public void addListSelectionListener(ListSelectionListener listener)
JList 는, 선택 모델의 선택 상태의 변경을 대기해, 지정된 청취자로 개개의 변경을 통지합니다. 청취자에게 송신된 ListSelectionEvent 에 의해,소스 프로퍼티으로서 이 리스트가 설정됩니다.
listener - 추가하는 ListSelectionListenergetSelectionModel() ,
getListSelectionListeners() public void removeListSelectionListener(ListSelectionListener listener)
listener - 삭제하는 ListSelectionListeneraddListSelectionListener(javax.swing.event.ListSelectionListener) ,
getSelectionModel() public ListSelectionListener [] getListSelectionListeners()
addListSelectionListener 에 의해, 이 JList 에 추가된 모든 ListSelectionListener 의 배열을 돌려줍니다.
ListSelectionListener. 추가된 청취자가 없는 경우는 빈 상태(empty)의 배열addListSelectionListener(javax.swing.event.ListSelectionListener) public void setSelectionModel(ListSelectionModel selectionModel)
selectionModel 를 null 가 아닌 ListSelectionModel 구현으로 설정합니다. 선택 모델은, 단일 선택, 인접한 범위의 선택, 및 비인접 선택을 작성하는 태스크를 처리합니다. 이것은 JavaBeans 바운드 프로퍼티입니다.
selectionModel - 선택을 구현하는 ListSelectionModel
IllegalArgumentException - selectionModel 가 null 의 경우getSelectionModel() public void setSelectionMode(int selectionMode)
사용 가능한 선택 모드는, 다음의 리스트대로입니다.
ListSelectionModel.SINGLE_SELECTION - 1 회에 1 개의 리스트 인덱스만을 선택할 수 있습니다. 이 모드에서는,setSelectionInterval 메소드와 addSelectionInterval 메소드는 동등하고, 어느쪽이나 현재의 선택을, 2 번째의 인수로 나타내지는 인덱스 ( 「리드 인덱스」)로 옮겨놓습니다.
ListSelectionModel.SINGLE_INTERVAL_SELECTION - 1 회에 1 개의 연속 구간만을 선택할 수 있습니다. 이 모드에서는,addSelectionInterval 은, 지정된 간격이 기존의 선택 범위에 인접하고 있거나 오버랩 하고 있거나 하지 않는 한 setSelectionInterval 와 같게 동작하기 위해(때문에) (현재의 선택을 옮겨놓는다), 선택 범위를 확장하는 목적으로 사용할 수 있습니다.
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION - 이 모드에서는, 선택 대상으로 제한은 없습니다. 이 모드가 디폴트입니다.
selectionMode - 선택 모드
IllegalArgumentException - 허가된 선택 모드가 아닌 경우getSelectionMode() public int getSelectionMode()
setSelectionMode(int) public int getAnchorSelectionIndex()
ListSelectionModel.getAnchorSelectionIndex() public int getLeadSelectionIndex()
ListSelectionModel.getLeadSelectionIndex() public int getMinSelectionIndex()
-1 을 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
-1ListSelectionModel.getMinSelectionIndex() public int getMaxSelectionIndex()
-1 을 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
ListSelectionModel.getMaxSelectionIndex() public boolean isSelectedIndex(int index)
true, 그 이외의 경우는 false 를 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
index - 선택 상태가 조회되는 인덱스
true, 그 이외의 경우는 falseListSelectionModel.isSelectedIndex(int) ,
setSelectedIndex(int) public boolean isSelectionEmpty()
true, 그 이외의 경우는 false 를 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
true, 그 이외의 경우는 falseListSelectionModel.isSelectionEmpty() ,
clearSelection() public void clearSelection()
isSelectionEmpty 는 true 를 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
ListSelectionModel.clearSelection() ,
isSelectionEmpty()
public void setSelectionInterval(int anchor,
int lead)
엥커 인덱스와 리드 인덱스가 포함됩니다. 엥커 의 값은,리드 이하가 아니어도 괜찮습니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
0 보다 작은 값의 처리 방법에 대해서는, 사용하는 선택 모델 클래스의 문서를 참조해 주세요.
anchor - 선택하는 최초의 인덱스lead - 선택하는 마지막 인덱스ListSelectionModel.setSelectionInterval(int, int) ,
DefaultListSelectionModel.setSelectionInterval(int, int) ,
createSelectionModel() ,
addSelectionInterval(int, int) ,
removeSelectionInterval(int, int)
public void addSelectionInterval(int anchor,
int lead)
엥커 인덱스와 리드 인덱스가 포함됩니다. 엥커 의 값은,리드 이하가 아니어도 괜찮습니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
0 보다 작은 값의 처리 방법에 대해서는, 사용하는 선택 모델 클래스의 문서를 참조해 주세요.
anchor - 선택에 추가하는 최초의 인덱스lead - 선택에 추가하는 마지막 인덱스ListSelectionModel.addSelectionInterval(int, int) ,
DefaultListSelectionModel.addSelectionInterval(int, int) ,
createSelectionModel() ,
setSelectionInterval(int, int) ,
removeSelectionInterval(int, int)
public void removeSelectionInterval(int index0,
int index1)
index0 와 index1 의 양쪽 모두의 인덱스가 삭제됩니다. index0 는 index1 이하가 아니어도 괜찮습니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
0 보다 작은 값의 처리 방법에 대해서는, 사용하는 선택 모델 클래스의 문서를 참조해 주세요.
index0 - 선택으로부터 삭제하는 최초의 인덱스index1 - 선택으로부터 삭제하는 마지막 인덱스ListSelectionModel.removeSelectionInterval(int, int) ,
DefaultListSelectionModel.removeSelectionInterval(int, int) ,
createSelectionModel() ,
setSelectionInterval(int, int) ,
addSelectionInterval(int, int) public void setValueIsAdjusting(boolean b)
valueIsAdjusting 프로퍼티을 설정합니다. true 의 경우, 선택 모델에 대한 복수의 변경은, 1 개의 변경의 일부이다고 보여질 것입니다. 이 프로퍼티은 내부에서 사용되어 개발자는 일반적으로, 이 메소드를 호출할 필요는 없습니다. 예를 들어, 사용자의 드래그에 응해 모델이 갱신되는 경우, 프로퍼티의 값은, 드래그의 개시시에는 true, 종료시에는 false 로 설정됩니다. 이 때문에, 중간치를 모두 처리하는 것이 아니라, 변경이 finalize 되었을 경우에만 청취자를 갱신할 수 있습니다. 일련의 변경을 1 회의 변경의 일부라고 볼 필요가 있는 경우는, 이것을 직접 사용할 수 있습니다.
이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 자세한 것은,ListSelectionModel.setValueIsAdjusting(boolean) 의 문서를 참조해 주세요.
b - 프로퍼티의 변경 후의 값ListSelectionModel.setValueIsAdjusting(boolean) ,
ListSelectionEvent.getValueIsAdjusting() ,
getValueIsAdjusting() public boolean getValueIsAdjusting()
isAdjusting 프로퍼티의 값을 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
isAdjusting 프로퍼티의 값setValueIsAdjusting(boolean) ,
ListSelectionModel.getValueIsAdjusting() public int[] getSelectedIndices()
removeSelectionInterval(int, int) ,
addListSelectionListener(javax.swing.event.ListSelectionListener) public void setSelectedIndex(int index)
setSelectionInterval 를 사용하는 편리한 메소드입니다. 0 보다 작은 값의 처리 방법에 대해서는, 사용하는 선택 모델 클래스의 문서를 참조해 주세요.
index - 선택하는 셀의 인덱스ListSelectionModel.setSelectionInterval(int, int) ,
isSelectedIndex(int) ,
addListSelectionListener(javax.swing.event.ListSelectionListener) public void setSelectedIndices(int[] indices)
addSelectionInterval 를 사용해 인덱스를 추가하는 편리한 메소드입니다. 0 보다 작은 값의 처리 방법에 대해서는, 사용하는 선택 모델 클래스의 문서를 참조해 주세요.
indices - 선택하는 셀의 인덱스의 배열,null 이외
NullPointerException - 지정된 배열이 null 인 경우ListSelectionModel.addSelectionInterval(int, int) ,
isSelectedIndex(int) ,
addListSelectionListener(javax.swing.event.ListSelectionListener) public Object [] getSelectedValues()
isSelectedIndex(int) ,
getModel() ,
addListSelectionListener(javax.swing.event.ListSelectionListener) public int getSelectedIndex()
-1 을 돌려줍니다.
이 메소드는,getMinSelectionIndex 에 위양 하는 커버 메소드입니다.
getMinSelectionIndex() ,
addListSelectionListener(javax.swing.event.ListSelectionListener) public Object getSelectedValue()
null 를 돌려줍니다.
이것은, 단순하게 getMinSelectionIndex 의 모델치를 돌려주는 편리한 메소드입니다.
getMinSelectionIndex() ,
getModel() ,
addListSelectionListener(javax.swing.event.ListSelectionListener)
public void setSelectedValue(Object anObject,
boolean shouldScroll)
anObject - 선택하는 객체shouldScroll - 객체가 존재해, 선택한 객체를 표시하기 위해서 리스트를 스크롤 해야 하는 것인 경우는 true. 그렇지 않은 경우는 falsepublic Dimension getPreferredScrollableViewportSize()
visibleRowCount 의 행을 표시하기 위해서 필요한 뷰포트의 사이즈를 계산합니다. 이 메소드의 반환값은, 레이아웃 방향에 따라서 다릅니다.
VERTICAL:
fixedCellWidth 와 fixedCellHeight 의 양쪽 모두가 설정되어 있는 경우 (명시적으로 설정되는 경우와 셀의 prototype치를 지정해 설정되는 경우가 있다), 이 값은 분명합니다. 폭은, 단순하게 fixedCellWidth 에 리스트의 수평의 인 세트를 서로 더한 값이 됩니다. 높이는,fixedCellHeight 에 visibleRowCount 를 걸어, 리스트의 수직의 인 세트를 서로 더한 값이 됩니다.
fixedCellWidth 와 fixedCellHeight 의 어느 쪽인지가 지정되어 있지 않은 경우, 휴리스틱인 방법이 사용됩니다. 모델이 빈 상태(empty)이며, 폭이 0 보다 큰지,256 이라고 하는 값이 하드 코드 되고 있는 경우, 폭은 fixedCellWidth 가 됩니다. fixedCellHeight 가 0 보다 큰 경우, 높이는 fixedCellHeight 에 visibleRowCount 를 건 값이 됩니다. 그렇지 않은 경우는, 하드 코드 된 값 16 에 visibleRowCount 를 건 값이 됩니다.
모델이 빈 상태(empty)이 아니면, 폭은 추천 사이즈의 폭 (일반적으로, 가장 폭의 넓은 리스트 요소의 폭)이 됩니다. 높이는,fixedCellHeight 에 visibleRowCount 를 걸어, 리스트의 수직의 인 세트를 서로 더한 값이 됩니다.
VERTICAL_WRAP 또는 HORIZONTAL_WRAP:
이 메소드는, 단순하게 getPreferredSize 로부터 값을 돌려줍니다. 리스트의 ListUI 는,getPreferredSize 를 오버라이드(override) 해, 적절한 값을 돌려줄 필요가 있습니다.
Scrollable 내의 getPreferredScrollableViewportSize visibleRowCount 행의 표시에 필요한 뷰포트의 사이즈를 포함한 치수getPreferredScrollableViewportSize() ,
setPrototypeCellValue(java.lang.Object)
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
수평 방향의 스크롤에서는, 레이아웃의 방향이 VERTICAL 인 경우, 리스트의 font size (폰트가 null 의 경우는 1)가 돌려주어집니다.
Scrollable 내의 getScrollableUnitIncrement visibleRect - 뷰포트내의 가시의 뷰 영역orientation - SwingConstants.HORIZONTAL 또는
SwingConstants.VERTICALdirection - 상또는왼쪽으로 스크롤 하는 경우는 0 이하, 아래 또는 오른쪽으로 스크롤 하는 경우는 0 보다 크다
IllegalArgumentException - visibleRect 가 null 의 경우, 또는 orientation 가 SwingConstants.VERTICAL 도 SwingConstants.HORIZONTAL 도 아닌 경우getScrollableBlockIncrement(java.awt.Rectangle, int, int) ,
Scrollable.getScrollableUnitIncrement(java.awt.Rectangle, int, int)
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
수직 방향의 스크롤에는, 다음의 룰이 적용됩니다.
visibleRect.height 를 돌려준다
수평 방향의 스크롤로, 레이아웃 방향이 VERTICAL_WRAP 또는 HORIZONTAL_WRAP 인 경우, 다음의 룰이 적용됩니다.
visibleRect.width 를 돌려준다
수평 방향의 스크롤로, 레이아웃 방향이 VERTICAL 인 경우,visibleRect.width 를 돌려줍니다.
visibleRect 의 값은,this.getVisibleRect() 와 같지 않으면 안됩니다.
Scrollable 내의 getScrollableBlockIncrement visibleRect - 뷰포트내의 가시의 뷰 영역orientation - SwingConstants.HORIZONTAL 또는
SwingConstants.VERTICALdirection - 상또는왼쪽으로 스크롤 하는 경우는 0 이하, 아래 또는 오른쪽으로 스크롤 하는 경우는 0 보다 크다
IllegalArgumentException - visibleRect 가 null 의 경우, 또는 orientation 가 SwingConstants.VERTICAL 도 SwingConstants.HORIZONTAL 도 아닌 경우getScrollableUnitIncrement(java.awt.Rectangle, int, int) ,
Scrollable.getScrollableBlockIncrement(java.awt.Rectangle, int, int) public boolean getScrollableTracksViewportWidth()
JList 가 JViewport 내에 표시되어 뷰포트의 폭이 리스트의 적절한 폭보다 넓은 경우, 또는 레이아웃 방향이 HORIZONTAL_WRAP 로 visibleRowCount <= 0 인 경우,true 를 돌려줍니다. 그렇지 않은 경우는 false 를 돌려줍니다.
false 의 경우, 뷰포트의 폭을 추적하지 않습니다. 이것에 의해,JViewport 자체가 JScrollPane 에 짜넣어지고 있는 경우, 수평 스크롤이 생기게 됩니다.
Scrollable 내의 getScrollableTracksViewportWidth Scrollable.getScrollableTracksViewportWidth() public boolean getScrollableTracksViewportHeight()
JList 가 JViewport 내에 표시되어 뷰포트의 폭이 리스트의 적절한 높이보다 높은 경우, 또는 레이아웃 방향이 VERTICAL_WRAP 로 visibleRowCount <= 0 인 경우,true 를 돌려줍니다. 그렇지 않은 경우는 false 를 돌려줍니다.
false 의 경우, 뷰포트의 높이를 추적하지 않습니다. 이것에 의해,JViewport 자체가 JScrollPane 에 짜넣어지고 있는 경우, 수직 스크롤이 생기게 됩니다.
Scrollable 내의 getScrollableTracksViewportHeight Scrollable.getScrollableTracksViewportHeight() protected String paramString()
JList 의 String 표현을 돌려줍니다. 이 메소드는 디버그 전용이며, 반환되는 String 의 내용 및 형식은 구현에 따라서 다릅니다. 반환되는 String 는 빈 상태(empty)의 경우가 있습니다만,{null 로는 되지 않습니다.
JComponent 내의 paramString JList 의 String 표현public AccessibleContext getAccessibleContext()
JList 에 관련한 AccessibleContext 를 가져옵니다. JList 의 경우,AccessibleContext 는 AccessibleJList 의 형식을 취합니다.
필요에 따라서 신규의 AccessibleJList 인스턴스가 작성됩니다.
Accessible 내의 getAccessibleContext JComponent 내의 getAccessibleContext JList 의 AccessibleContext 로서 기능하는 AccessibleJList
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.