|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.RowSorter <M>
javax.swing.DefaultRowSorter<M, I>
M
- 모델의 형태I
- RowFilter
에게 건네지는 식별자의 형태public abstract class DefaultRowSorter<M, I>
구라두 베이스의 데이터 모델의 소트나 필터의 적용을 실시하는 RowSorter
의 구현입니다. 작성시나 인스톨시 이외에,RowSorter
와 직접 대화할 필요는 거의 없습니다. JTable
의 RowSorter
의 구상 구현에 대해서는,TableRowSorter
를 참조해 주세요.
소트는, 현재의 SortKey
에 근거해 차례로 행해집니다. 2 개의 객체가 동등한 (열의 Comparator
가 0 을 돌려준다) 경우, 다음의 SortKey
가 사용됩니다. SortKey
가 남지 않은, 또는 순서가 UNSORTED
의 경우, 모델내의 행의 순서가 사용됩니다.
각 열의 소트는,setComparator
메소드를 사용해 지정 가능한 Comparator
에 의해 행해집니다. Comparator
가 지정되어 있지 않은 경우, 부하의 객체상에 toString
를 호출한 결과에 대해서,Collator.getInstance()
로부터 반환되는 Comparator
가 사용됩니다. Comparator
에 null
가 건네받을 것은 없습니다. null
치는,null
가 아닌 값의 전에 검출된 것으로서 처리됩니다. 2 개의 null
치는 동등이라고 보여집니다.
인수를, 모델에 의해 제공되는 그 외의 형태에 캐스트 하는 Comparator
를 지정했을 경우, 데이터를 소트 하면(자) ClassCastException
가 throw 됩니다.
DefaultRowSorter
는, 소트 기능 외에, 행의 필터 기능도 제공합니다. 필터는,setRowFilter
메소드로 지정된 RowFilter
에 의해 행해집니다. 필터가 지정되어 있지 않은 경우, 모든 행이 포함됩니다.
디폴트에서는, 행은 소트 되지 않고 (모델과 같이), 모든 열이 소트 가능합니다. 디폴트의 Comparator
는,TableRowSorter
와 같이, 서브 클래스에 문서화 되고 있습니다.
부하의 모델의 구조가 변화했을 경우 (modelStructureChanged
메소드가 불려 갔을 경우), 열의 Comparator
, 현재의 소트 순서, 및 각 열이 소트 가능한지 어떤지의 설정이 리셋 되어 디폴트 값에 돌아옵니다. 디폴트의 Comparator
를 검출하려면 , 구상 구현 (예를 들어,TableRowSorter
를 참조합니다. 디폴트에서는 소트는 행해지지 않고 (모델과 같이), 열은 소트 가능합니다.
부하의 모델의 구조가 변화했을 경우 (modelStructureChanged
메소드가 불려 갔을 경우), 열의 Comparator
, 현재의 소트 순서, 및 열이 소트 가능한지 어떤지의 설정이 리셋 되어 디폴트 값에 돌아옵니다.
DefaultRowSorter
는 abstract 클래스입니다. 구상 서브 클래스는,setModelWrapper
를 호출해, 부하의 데이터에의 액션을 제공할 필요가 있습니다. setModelWrapper
메소드는, 생성자 의 호출 직후에 호출할 필요가 있습니다. 가능하면 서브 클래스의 생성자 내에서 호출합니다. ModelWrapper
를 지정하지 않고 DefaultRowSorter
를 사용했을 경우, 결과는 보증되지 않습니다.
DefaultRowSorter
에는 2 개의 정식적 형태 파라미터가 있습니다. 1 개째의 형태 파라미터는,DefaultTableModel
등, 모델의 클래스에 대응하고 있습니다. 이제(벌써) 1 개의 형태 파라미터는,RowFilter
에게 건네지는 식별자의 클래스에 대응하고 있습니다. 형태 파라미터의 자세한 것은,TableRowSorter
와 RowFilter
를 참조해 주세요.
TableRowSorter
,
DefaultTableModel
,
Collator
상자의 클래스의 개요 | |
---|---|
protected static class |
DefaultRowSorter.ModelWrapper <M ,I >
DefaultRowSorter.ModelWrapper 는,DefaultRowSorter 로 소트 되는 데이터를 제공합니다. |
클래스 javax.swing. RowSorter 로부터 상속된 상자의 클래스/인터페이스 |
---|
RowSorter.SortKey |
생성자 의 개요 | |
---|---|
DefaultRowSorter ()
빈 상태(empty)의 DefaultRowSorter 를 작성합니다. |
메소드의 개요 | |
---|---|
void |
allRowsChanged ()
부하의 모델의 컨텐츠가 완전하게 변경되었을 경우에 불려 갑니다. |
int |
convertRowIndexToModel (int index)
부하의 모델의 index 의 위치를 돌려줍니다. |
int |
convertRowIndexToView (int index)
뷰의 index 의 위치를 돌려줍니다. |
Comparator <? > |
getComparator (int column)
지정된 Comparator 의 스타일을 돌려줍니다. |
int |
getMaxSortKeys ()
소트 키의 최대수를 돌려줍니다. |
M |
getModel ()
부하의 모델을 돌려줍니다. |
int |
getModelRowCount ()
부하의 모델의 행수를 돌려줍니다. |
protected DefaultRowSorter.ModelWrapper <M ,I > |
getModelWrapper ()
소트 및 필터의 적용 대상의 데이터를 제공하는 모델 래퍼를 돌려줍니다. |
RowFilter <? super M ,? super I > |
getRowFilter ()
필요에 따라서 뷰에 표시하지 않는 행을 지정하는 필터를 돌려줍니다. |
List <? extends RowSorter.SortKey > |
getSortKeys ()
현재의 소트 키를 돌려줍니다. |
boolean |
getSortsOnUpdates ()
부하의 모델의 갱신시에 소트를 실시하는 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다. |
int |
getViewRowCount ()
뷰내의 행수를 돌려줍니다. |
boolean |
isSortable (int column)
지정된 열이 소트 가능한 경우는 true, 그렇지 않은 경우는 false 를 돌려줍니다. |
void |
modelStructureChanged ()
부하의 모델의 구조가 완전하게 변경되었을 경우에 불려 갑니다. |
void |
rowsDeleted (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)로부터 행이 삭제되었을 경우에 불려 갑니다. |
void |
rowsInserted (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)에 행이 삽입되었을 경우에 불려 갑니다. |
void |
rowsUpdated (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)에서 행이 변경되었을 경우에 불려 갑니다. |
void |
rowsUpdated (int firstRow,
int endRow,
int column)
부하의 모델의 지정된 범위에서 은행내의 열이 갱신되었을 경우에 불려 갑니다. |
void |
setComparator (int column,
Comparator <? > comparator)
지정된 열의 소트시에 사용하는 Comparator 를 설정합니다. |
void |
setMaxSortKeys (int max)
소트 키의 최대수를 설정합니다. |
protected void |
setModelWrapper (DefaultRowSorter.ModelWrapper <M ,I > modelWrapper)
소트 및 필터의 적용 대상의 데이터를 제공하는 모델 래퍼를 설정합니다. |
void |
setRowFilter (RowFilter <? super M ,? super I > filter)
필요에 따라서 뷰에 표시하지 않는 행을 지정하는 필터를 설정합니다. |
void |
setSortable (int column,
boolean sortable)
지정된 열을 소트 가능하게 할지 어떨지를 설정합니다. |
void |
setSortKeys (List <? extends RowSorter.SortKey > sortKeys)
소트 키를 설정합니다. |
void |
setSortsOnUpdates (boolean sortsOnUpdates)
true 의 경우, 부하의 모델이 갱신되었다 ( rowsUpdated 가 불려 갔다) 때에 소트를 실시하는 것을 지정합니다. |
void |
sort ()
현재 소트중의 열의 소트 키와 이 소터에 관련하는 필터가 있는 경우는 그 필터에 근거해, 뷰내의 행을 소트 해, 필터를 적용합니다. |
void |
toggleSortOrder (int column)
지정된 열이 제 1 의 소트열이었을 경우, 소트 순서를 승순으로부터 내림차순에, 또는 내림차순으로부터 승순에 바꿉니다. |
protected boolean |
useToString (int column)
소트시에 비교를 실시하기 전에, 값을 캐릭터 라인으로 변환할지 어떨지를 돌려줍니다. |
클래스 javax.swing. RowSorter 로부터 상속된 메소드 |
---|
addRowSorterListener , fireRowSorterChanged , fireSortOrderChanged , removeRowSorterListener |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public DefaultRowSorter()
DefaultRowSorter
를 작성합니다.
메소드의 상세 |
---|
protected final void setModelWrapper(DefaultRowSorter.ModelWrapper <M ,I > modelWrapper)
modelWrapper
- 소트 및 필터의 적용 대상의 데이터를
제공하는 모델 래퍼
IllegalArgumentException
- modelWrapper
가
(null
의 경우)protected final DefaultRowSorter.ModelWrapper <M ,I > getModelWrapper()
public final M getModel()
RowSorter <M >
내의 getModel
public void setSortable(int column, boolean sortable)
toggleSortOrder
가 불려 갔을 때만 체크됩니다. 소트 불가능과 마크 되고 있는 열에서도, 소트 키를 직접 설정하는 것으로 소트 할 수 있습니다. 디폴트는 true 입니다.
column
- 부하의 모델에 근거해, 소트를 유효 또는 무효로 하는 열sortable
- 지정된 열이 소트 가능한지 어떤지
IndexOutOfBoundsException
- column
가 모델의 범위외인 경우toggleSortOrder(int)
,
setSortKeys(java.util.List extends javax.swing.RowSorter.SortKey>)
public boolean isSortable(int column)
column
- 부하의 모델에 근거해,
소트를 조사하는 열
IndexOutOfBoundsException
- column 가 부하의 모델의 범위외인 경우public void setSortKeys(List <? extends RowSorter.SortKey > sortKeys)
List
의 카피가 작성됩니다. 그 후, 이 List
로 변경을 더해도, 이 DefaultRowSorter
에 영향은 없습니다. 소트 키가 변경되었을 경우, 이것이 소트를 트리거합니다.
RowSorter <M >
내의 setSortKeys
sortKeys
- 신규의 SortKeys
.
빈 상태(empty)의 리스트 (이 뷰에서는 소트를 실시하지 않는 것을 나타낸다)를
지정하는 경우는 null
IllegalArgumentException
- sortKeys
에, null 치나
모델의 범위외의 열인덱스를 가지는 값이
어느 경우public List <? extends RowSorter.SortKey > getSortKeys()
null 가 아닌 List
가 돌려주어집니다. 소트 키를 변경할 필요가 있는 경우는, 반환된 List
의 카피를 작성해, 이 카피를 변경해 작성한 새로운 리스트를 사용해,setSortKeys
를 호출합니다.
RowSorter <M >
내의 getSortKeys
public void setMaxSortKeys(int max)
setMaxSortKeys(2)
를 호출한다고 합니다. 사용자가 열 1 의 헤더를 클릭하면(자), 열 1 의 항목에 근거해 표의 행이 소트 됩니다. 다음에, 사용자가 열 2 의 헤더를 클릭하면(자), 열 2 의 항목에 근거해 표의 행이 소트 됩니다. 열 2 에 같은 값의 항목이 있는 경우, 이러한 행의 순서는 열 1 의 항목에 근거해 결정됩니다. 이 경우에는, 행은 열 2 를 최우선으로 소트 되어 다음에 우선되는 것이 열 1 이라고 말할 수 있습니다. 사용자가 열 3 의 헤더를 클릭하면(자), 항목은 열 3 의 항목을 최우선으로 소트 되어 열 2 를 다음에 우선해 소트 됩니다. setMaxSortKeys
에 의해, 소트 키의 최대수는 2 로 설정되어 있으므로, 소트 순서는 열 1 에는 영향을 받지 않게 됩니다.
소트 키의 최대수는,toggleSortOrder
에 의해 적용됩니다. setSortKeys
를 직접 호출하면(자), 보다 많은 소트 키를 지정할 수 있어 이러한 키는 모두 받아들일 수 있습니다.. 다만, 그 후 toggleSortOrder
가 불려 가면(자), 소트 키의 최대수가 적용됩니다. 디폴트 값는 3 입니다.
max
- 소트 키의 최대수
IllegalArgumentException
- max
가 1보다 작은 경우public int getMaxSortKeys()
public void setSortsOnUpdates(boolean sortsOnUpdates)
rowsUpdated
가 불려 갔다) 때에 소트를 실시하는 것을 지정합니다. 예를 들어, 이 값이 true 의 경우, 사용자가 엔트리를 편집하면(자), 뷰내의 항목의 위치가 변경되는 일이 있습니다. 디폴트는 false 입니다.
sortsOnUpdates
- 갱신 이벤트의 발생시에 소트를 실시할지 어떨지public boolean getSortsOnUpdates()
public void setRowFilter(RowFilter <? super M ,? super I > filter)
null
는, 모델의 모든 값을 사용하는 것을 나타냅니다.
RowFilter
의 include
메소드가, 부하의 모델을 랩 하는 Entry
에게 건네집니다. Entry
내의 렬수는,ModelWrapper
내의 렬수에 대응하고 있습니다. 또, 식별자도 ModelWrapper
와 공통입니다.
이 메소드는, 소트를 트리거합니다.
filter
- 사용하는 엔트리를 결정하기 위해서(때문에)
사용하는 필터public RowFilter <? super M ,? super I > getRowFilter()
public void toggleSortOrder(int column)
RowSorter <M >
내의 toggleSortOrder
column
- 부하의 모델에 근거해,
제 1 의 소트열로 하는 열의 인덱스
IndexOutOfBoundsException
- 열이 부하의 모델의
범위외에 있는 경우setSortable(int, boolean)
,
setMaxSortKeys(int)
public int convertRowIndexToView(int index)
index
의 위치를 돌려줍니다. 부하의 모델의 좌표의 행 index
의 경우, 뷰의 행 인덱스를 돌려줍니다.
RowSorter <M >
내의 convertRowIndexToView
index
- 부하의 모델의 행 인덱스
IndexOutOfBoundsException
- index
가 모델의 범위외에 있는 경우public int convertRowIndexToModel(int index)
index
의 위치를 돌려줍니다. 뷰의 좌표의 행 index
의 경우, 부하의 모델의 행 인덱스를 돌려줍니다.
RowSorter <M >
내의 convertRowIndexToModel
index
- 부하의 뷰의 행 인덱스
IndexOutOfBoundsException
- index
가 뷰의 범위외에 있는 경우public void sort()
sortKeys
리스트는, 이 뷰의 소트를 할 수 없는 것을 나타냅니다.
setRowFilter(javax.swing.RowFilter super M, ? super I>)
,
setSortKeys(java.util.List extends javax.swing.RowSorter.SortKey>)
protected boolean useToString(int column)
ModelWrapper.getStringValueAt
를 사용해, 그렇지 않은 경우는 ModelWrapper.getValueAt
를 사용합니다. ModelWrapper
구현내에서 이 값을 받는,TableRowSorter
등의 서브 클래스에 일치합니다.
column
- 부하의 모델에 근거해, 테스트하는 열의 인덱스
IndexOutOfBoundsException
- column
가 유효하지 않은 경우public void setComparator(int column, Comparator <? > comparator)
Comparator
를 설정합니다. 이것은, 소트를 트리거하지 않습니다. 비교 연산자의 설정 후에 소트를 실시하려면 , 명시적으로 sort
를 호출할 필요가 있습니다.
column
- 부하의 모델에 근거해,Comparator
를 사용하는 열의 인덱스comparator
- 사용하는 Comparator
IndexOutOfBoundsException
- columns
가 부하의 모델의
범위외에 있는 경우public Comparator <? > getComparator(int column)
Comparator
의 스타일을 돌려줍니다. 이것은, 열에 Comparateor
가 지정되어 있지 않은 경우,null
를 돌려줍니다.
column
- 부하의 모델에 근거해,Comparator
를
페치 하는 열
Comparator
IndexOutOfBoundsException
- 열이 부하의 모델의
범위외에 있는 경우public int getViewRowCount()
RowSorter <M >
내의 getViewRowCount
RowSorter.getModelRowCount()
public int getModelRowCount()
RowSorter <M >
내의 getModelRowCount
RowSorter.getViewRowCount()
public void modelStructureChanged()
TableModel
로 렬수가 변경되었을 경우에, 이 메소드가 불려 갑니다. 일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 modelStructureChanged
public void allRowsChanged()
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 allRowsChanged
public void rowsInserted(int firstRow, int endRow)
대상이 되는 범위의 인덱스는, 인수로 지정합니다. 제 1 의 인수는, 변경전의 모델을 기본으로 하고 있어, 변경전의 모델의 사이즈 이하일 필요가 있습니다. 제 2 의 인수는, 변경 후의 모델을 기본으로 하고 있어, 변경 후의 모델의 사이즈 미만일 필요가 있습니다. 예를 들어 5 행의 모델의 말미에 3 항목을 추가하는 경우, 인덱스는 5,7 이 됩니다.
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 rowsInserted
firstRow
- 최초의 행endRow
- 마지막 행
IndexOutOfBoundsException
- 몇개의 인수가 무효인 경우, 또는
firstRow
가 endRow
보다 큰 경우public void rowsDeleted(int firstRow, int endRow)
대상이 되는 범위의 인덱스는, 변경전의 모델을 나타내는 인수로 지정합니다. 예를 들어 5 행의 모델의 말미로부터 3 항목을 삭제하는 경우, 인덱스는 2,4 가 됩니다.
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 rowsDeleted
firstRow
- 최초의 행endRow
- 마지막 행
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 변경전의 모델의 범위외에 있는 경우, 또는 firstRow
쪽이 endRow
보다 큰 경우public void rowsUpdated(int firstRow, int endRow)
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 rowsUpdated
firstRow
- 부하의 모델의 최초의 행endRow
- 부하의 모델의 마지막 행
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 부하의 모델의 범위외에 있는 경우, 또는 firstRow
쪽이 endRow
보다 큰 경우public void rowsUpdated(int firstRow, int endRow, int column)
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
RowSorter <M >
내의 rowsUpdated
firstRow
- 부하의 모델의 최초의 행endRow
- 부하의 모델의 마지막 행column
- 부하의 모델에 근거해,
변경한 열
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 변경 후의 부하의 모델의 범위외에 있는 경우,firstRow
쪽이 endRow
보다 큰 경우, 또는 column
가 부하의 모델의 범위외에 있는 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.