|
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
- 리스트의 셀을 페인트 한다
ListCellRenderer
getCellRenderer()
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로 사용하는 Color
getSelectionForeground()
,
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
- 선택된 셀의 백그라운드에서 사용하는 Color
getSelectionBackground()
,
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_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.ON_OR_INSERT
TransferHandler
를 가지고 있지 않으면, 드롭 모드의 효과는 없습니다.
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
- 툴팁 텍스트를 취득하는 MouseEvent
JComponent.setToolTipText(java.lang.String)
,
JComponent.getToolTipText()
public int locationToIndex(Point location)
getCellBounds
의 규정 대로, 점과 셀의 경계를 비교합니다. 이 메소드는, 모델이 빈 상태(empty)의 경우,-1
를 돌려줍니다.
이것은, 리스트의 ListUI
내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI
가 없는 경우,-1
를 돌려줍니다.
location
- 점의 좌표
-1
public Point indexToLocation(int index)
null
를 돌려줍니다.
이것은, 리스트의 ListUI
내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI
가 없는 경우,null
를 돌려줍니다.
index
- 셀의 인덱스
null
public Rectangle getCellBounds(int index0, int index1)
작은 편의 인덱스가 리스트의 셀의 범위외에 있는 경우, 이 메소드는 null
를 돌려줍니다. 작은 편의 인덱스가 유효해도, 큰 편의 인덱스가 리스트의 범위외에 있는 경우, 최초의 인덱스의 경계만이 돌려주어집니다. 그렇지 않은 경우, 유효한 범위의 경계가 돌려주어집니다.
이것은, 리스트의 ListUI
내의 같은 이름의 메소드에 위양 하는 커버 메소드입니다. 리스트에 ListUI
가 없는 경우,null
를 돌려줍니다.
index0
- 범위의 선두의 인덱스index1
- 범위의 2 번째의 인덱스
null
public ListModel getModel()
JList
컴퍼넌트에 의해 표시되는 항목의 리스트를 보관 유지하는 데이터 모델을 돌려줍니다.
ListModel
setModel(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
- 리스트에 표시하는 항목을 보관 유지하는 Vector
setModel(javax.swing.ListModel)
protected ListSelectionModel createSelectionModel()
DefaultListSelectionModel
의 인스턴스를 돌려줍니다.
DefaultListSelectionModel
setSelectionModel(javax.swing.ListSelectionModel)
,
DefaultListSelectionModel
public ListSelectionModel getSelectionModel()
ListSelectionModel
setSelectionModel(javax.swing.ListSelectionModel)
,
ListSelectionModel
protected void fireSelectionValueChanged(int firstIndex, int lastIndex, boolean isAdjusting)
ListSelectionListener
에, 선택 모델로 변경이 더해진 것을 통지합니다. JList
는, 선택 모델내의 선택에 대한 변경을 대기해, 이 메소드를 호출하는 것으로, 리스트에 직접 추가된 청취자에게 통지를 보냅니다.
이 메소드는, 이 리스트를 소스로 해, 지정의 인수를 사용해,ListSelectionEvent
를 구축합니다. 게다가 이 ListSelectionEvent
를 등록을 마친 ListSelectionListener
에 송신합니다.
firstIndex
- 범위내의 최초의 인덱스,<= lastIndex
lastIndex
- 범위내의 마지막 인덱스,>= firstIndex
isAdjusting
- 이 이벤트가 변경중의 일련의 이벤트에 포함되어 있는지 어떤지addListSelectionListener(javax.swing.event.ListSelectionListener)
,
removeListSelectionListener(javax.swing.event.ListSelectionListener)
,
ListSelectionEvent
,
EventListenerList
public void addListSelectionListener(ListSelectionListener listener)
JList
는, 선택 모델의 선택 상태의 변경을 대기해, 지정된 청취자로 개개의 변경을 통지합니다. 청취자에게 송신된 ListSelectionEvent
에 의해,소스
프로퍼티으로서 이 리스트가 설정됩니다.
listener
- 추가하는 ListSelectionListener
getSelectionModel()
,
getListSelectionListeners()
public void removeListSelectionListener(ListSelectionListener listener)
listener
- 삭제하는 ListSelectionListener
addListSelectionListener(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
을 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
-1
ListSelectionModel.getMinSelectionIndex()
public int getMaxSelectionIndex()
-1
을 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
ListSelectionModel.getMaxSelectionIndex()
public boolean isSelectedIndex(int index)
true
, 그 이외의 경우는 false
를 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
index
- 선택 상태가 조회되는 인덱스
true
, 그 이외의 경우는 false
ListSelectionModel.isSelectedIndex(int)
,
setSelectedIndex(int)
public boolean isSelectionEmpty()
true
, 그 이외의 경우는 false
를 돌려줍니다. 이것은, 리스트의 선택 모델상의 같은 이름의 메소드에 위양 하는 커버 메소드입니다.
true
, 그 이외의 경우는 false
ListSelectionModel.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
. 그렇지 않은 경우는 false
public 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.VERTICAL
direction
- 상또는왼쪽으로 스크롤 하는 경우는 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.VERTICAL
direction
- 상또는왼쪽으로 스크롤 하는 경우는 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 도 참조해 주세요.