|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.swing.RowSorter<M>
M
- 부하의 모델의 타입public abstract class RowSorter<M>
RowSorter
는, 소트와 필터의 기반을 제공합니다. 작성시나 인스톨시 이외에,RowSorter
와 직접 대화할 필요는 거의 없습니다. JTable
의 RowSorter
의 구상 구현에 대해서는,TableRowSorter
를 참조해 주세요.
RowSorter
의 기본 기능은, 뷰 (JTable
등)의 2 개의 좌표계와 부하의 데이터 소스 (일반적으로은 모델)의 좌표계의 매핑을 실시하는 것입니다.
뷰는,RowSorter
상에서다음의 메소드를 호출합니다.
toggleSortOrder
적절한 사용자 제스처(gesture)가 발생해 소트가 트리거되었을 때에 뷰에 의해 불려 갑니다. 예를 들어, 사용자가 테이블내의 열헤더를 클릭했을 때 등에 불려 갑니다.
RowSorter
는 매핑을 갱신해야 하는 것이 아닙니다.
convertRowIndexToModel
메소드,convertRowIndexToView
메소드, 및 getViewRowCount
메소드를 매우 자주(잘) 사용하므로, 이러한 메소드는 고속으로 있을 필요가 있습니다.
RowSorterEvent
는,RowSorterListener
를 사용해 변경의 통지를 실시합니다. 통지에는, 다음의 2 종류가 있습니다.
RowSorterEvent.Type.SORT_ORDER_CHANGED
소트 순서가 변경된 것을 청취자에게 통지합니다. 일반적으로, 이후에, 소트가 변경되었다고 하는 통지가 송신됩니다.
RowSorterEvent.Type.SORTED
RowSorter
가 관리하고 있는 매핑이 변경된 것을 청취자에게 통지합니다.
RowSorter
구현과 부하의 모델의 매핑은, 일반적으로, 1 대 1 으로는 되고 있지 않습니다만, 1 대 1 으로 하는 일도 가능합니다. 예를 들어, 소트를 실시하는 데이타베이스는, 백그라운드 thread상에서 toggleSortOrder
를 호출합니다. 이 메소드는, 매핑 메소드를 오버라이드(override) 해, 건네받은 인수를 돌려줍니다.
RowSorter
의 구상 구현은,TableModel
,ListModel
등의 모델을 참조할 필요가 있습니다. JTable
나 JList
등의 뷰크라스도, 모델을 참조합니다. 순서의 의존성을 회피하기 위해(때문에),RowSorter
구현이 모델상에 청취자를 인스톨 하지 않게 해 주세요. 모델이 변경되면(자), 뷰크라스가 RowSorter
를 호출합니다. 예를 들어,TableModel
JTable
로 행이 갱신되었을 경우,rowsUpdated
가 불려 갑니다. 모델이 변경되면(자), 뷰는,modelStructureChanged
,allRowsChanged
,rowsInserted
,rowsDeleted
,rowsUpdated
의 몇개의 메소드를 호출합니다.
TableRowSorter
상자의 클래스의 개요 | |
---|---|
static class |
RowSorter.SortKey
SortKey 는, 특정의 열의 소트 순서를 기술합니다. |
생성자 의 개요 | |
---|---|
RowSorter ()
RowSorter 를 작성합니다. |
메소드의 개요 | |
---|---|
void |
addRowSorterListener (RowSorterListener l)
이 RowSorter 에 관한 통지를 받는 RowSorterListener 를 추가합니다. |
abstract void |
allRowsChanged ()
부하의 모델의 컨텐츠가 완전하게 변경되었을 경우에 불려 갑니다. |
abstract int |
convertRowIndexToModel (int index)
부하의 모델의 index 의 위치를 돌려줍니다. |
abstract int |
convertRowIndexToView (int index)
뷰의 index 의 위치를 돌려줍니다. |
protected void |
fireRowSorterChanged (int[] lastRowIndexToModel)
매핑이 변경된 것을 청취자에게 통지합니다. |
protected void |
fireSortOrderChanged ()
소트 순서가 변경된 것을 청취자에게 통지합니다. |
abstract M |
getModel ()
부하의 모델을 돌려줍니다. |
abstract int |
getModelRowCount ()
부하의 모델의 행수를 돌려줍니다. |
abstract List <? extends RowSorter.SortKey > |
getSortKeys ()
현재의 소트 키를 돌려줍니다. |
abstract int |
getViewRowCount ()
뷰내의 행수를 돌려줍니다. |
abstract void |
modelStructureChanged ()
부하의 모델의 구조가 완전하게 변경되었을 경우에 불려 갑니다. |
void |
removeRowSorterListener (RowSorterListener l)
RowSorterListener 를 삭제합니다. |
abstract void |
rowsDeleted (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)로부터 행이 삭제되었을 경우에 불려 갑니다. |
abstract void |
rowsInserted (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)에 행이 삽입되었을 경우에 불려 갑니다. |
abstract void |
rowsUpdated (int firstRow,
int endRow)
부하의 모델의 지정된 범위 (상한치와 하한치를 포함한다)에서 행이 변경되었을 경우에 불려 갑니다. |
abstract void |
rowsUpdated (int firstRow,
int endRow,
int column)
부하의 모델의 지정된 범위에서 은행내의 열이 갱신되었을 경우에 불려 갑니다. |
abstract void |
setSortKeys (List <? extends RowSorter.SortKey > keys)
현재의 소트 키를 설정합니다. |
abstract void |
toggleSortOrder (int column)
지정된 열의 소트 순서를 반대로 합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public RowSorter()
RowSorter
를 작성합니다.
메소드의 상세 |
---|
public abstract M getModel()
public abstract void toggleSortOrder(int column)
이 메소드에 의해 소트 순서가 변경되어 소트를 하는 경우는, 적절한 RowSorterListener
통지가 송신됩니다.
column
- 부하의 모델에 근거해,
소트 순서를 바꾸는 열
IndexOutOfBoundsException
- 열이 부하의 모델의
범위외에 있는 경우public abstract int convertRowIndexToModel(int index)
index
의 위치를 돌려줍니다. 뷰의 좌표의 행 index
의 경우, 부하의 모델의 행 인덱스를 돌려줍니다.
index
- 부하의 뷰의 행 인덱스
IndexOutOfBoundsException
- index
가 뷰의 범위외에 있는 경우public abstract int convertRowIndexToView(int index)
index
의 위치를 돌려줍니다. 부하의 모델의 좌표의 행 index
의 경우, 뷰의 행 인덱스를 돌려줍니다.
index
- 부하의 모델의 행 인덱스
IndexOutOfBoundsException
- index
가 모델의 범위외에 있는 경우public abstract void setSortKeys(List <? extends RowSorter.SortKey > keys)
keys
- 신규의 SortKeys
.
빈 상태(empty)의 리스트 (이 뷰에서는 소트를 실시하지 않는 것을 나타낸다)를
지정하는 경우는 null
public abstract List <? extends RowSorter.SortKey > getSortKeys()
null 가 아닌 List
를 돌려줍니다. 게다가 변경 불가능한 List
를 돌려주는 일도 있습니다. 소트 키를 변경할 필요가 있는 경우는, 반환된 List
의 카피를 작성해, 이 카피를 변경해 작성한 새로운 리스트를 사용해,setSortKeys
를 호출합니다.
public abstract int getViewRowCount()
getModelRowCount()
public abstract int getModelRowCount()
getViewRowCount()
public abstract void modelStructureChanged()
TableModel
로 렬수가 변경되었을 경우에, 이 메소드가 불려 갑니다. 일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
public abstract void allRowsChanged()
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
public abstract void rowsInserted(int firstRow, int endRow)
대상이 되는 범위의 인덱스는, 인수로 지정합니다. 제 1 의 인수는, 변경전의 모델을 기본으로 하고 있어, 변경전의 모델의 사이즈 이하일 필요가 있습니다. 제 2 의 인수는, 변경 후의 모델을 기본으로 하고 있어, 변경 후의 모델의 사이즈 미만일 필요가 있습니다. 예를 들어 5 행의 모델의 말미에 3 항목을 추가하는 경우, 인덱스는 5,7 이 됩니다.
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
firstRow
- 최초의 행endRow
- 마지막 행
IndexOutOfBoundsException
- 몇개의 인수가 무효인 경우, 또는
firstRow
가 endRow
보다 큰 경우public abstract void rowsDeleted(int firstRow, int endRow)
대상이 되는 범위의 인덱스는, 변경전의 모델을 나타내는 인수로 지정합니다. 예를 들어 5 행의 모델의 말미로부터 3 항목을 삭제하는 경우, 인덱스는 2,4 가 됩니다.
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
firstRow
- 최초의 행endRow
- 마지막 행
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 변경전의 모델의 범위외에 있는 경우, 또는 firstRow
쪽이 endRow
보다 큰 경우public abstract void rowsUpdated(int firstRow, int endRow)
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
firstRow
- 부하의 모델의 최초의 행endRow
- 부하의 모델의 마지막 행
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 부하의 모델의 범위외에 있는 경우, 또는 firstRow
쪽이 endRow
보다 큰 경우public abstract void rowsUpdated(int firstRow, int endRow, int column)
일반적으로, 사용자가 이 메소드를 호출할 것은 없습니다. 이 메소드는, 뷰크라스로부터 호출할 수 있도록(듯이) public 가 되어 있습니다.
firstRow
- 부하의 모델의 최초의 행endRow
- 부하의 모델의 마지막 행column
- 부하의 모델에 근거해,
변경한 열
IndexOutOfBoundsException
- 어느 쪽인가의 인수가 변경 후의 부하의 모델의 범위외에 있는 경우,firstRow
쪽이 endRow
보다 큰 경우, 또는 column
가 부하의 모델의 범위외에 있는 경우public void addRowSorterListener(RowSorterListener l)
RowSorter
에 관한 통지를 받는 RowSorterListener
를 추가합니다. 같은 청취자를 복수 추가했을 경우, 복수의 통지를 받게 됩니다. l
가 null
의 경우, 아무것도 행해지지 않습니다.
l
- RowSorterListener
public void removeRowSorterListener(RowSorterListener l)
RowSorterListener
를 삭제합니다. l
가 null
의 경우, 아무것도 행해지지 않습니다.
l
- RowSorterListener
protected void fireSortOrderChanged()
protected void fireRowSorterChanged(int[] lastRowIndexToModel)
lastRowIndexToModel
- 소트전의 모델 인덱스로부터 뷰인젝스에의 매핑
(null
의 경우도 있다)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.