|
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 도 참조해 주세요.