응용 프로그램에 대한 몇 가지 UI 지속성 방법을 쓰고 있습니다. 테이블 모델에서 고정 된 N 열 집합을 사용하여 JXTable로 확장하려고합니다.JXTable : 열 모델에서 상태를 쿼리하는 방법?
JXTable의 #k 열에 대해 다음 정보를 가져오고 설정할 수 있습니다. 여기서 k는 테이블 모델 순서의 열 번호입니까? 소리가 나는 것처럼 쉽지는 않지만 적어도 까다로운 정보가 빠져 있습니다.
- 열 너비
- 열 가시성 열 순서
TableColumnModelExt.getColumns()
이 미친 메모를 포함
java.util.List<javax.swing.table.TableColumn> getColumns(boolean includeHidden)
을 포함 된 TableColumns의 List를 리턴합니다. includeHidden이 true인지 false인지에 따라 보이지 않는 열을 포함하거나 제외합니다. false의 경우, List에 대한 Iterator는 getColumns()에 의해 반환되는 Enumeration과 같습니다.
참고 : 목록에있는 열의 순서는 보이지 않는 열이 포함되어 있는지 여부에 달려 있습니다. 전자의 경우에는 표시 순서가 삽입 순서이고 표시 할 열의 현재 순서입니다.
또한, 나는 JTable.convertColumnIndexToView()
을 사용하는 방법을 알고 있지만 숨겨진 열 -1을 반환하고, 다시 볼 사항이있는 경우 숨겨진 열이 갈 것이라고 주문하는에 대한 정보를 남기지 않습니다. JXTable은 열 정보를 복원 할 수 있기 때문에이 정보를 알고 있으며 열이 숨겨지기 전의 위치에 놓습니다.
왜 그것이 미쳤다고 생각합니까? 조심스럽게 : 나는 의사와 JXTable에 관한 거의 모든 것을 작성했다 :-) – kleopatra
OK, 좋은 지적. JXTable은 JTable과 다른 용어를 사용합니다. JTable은 "삽입 순서"와 "보이는 열의 현재 순서"를 사용하지만 JTable은 "보기"와 "모델"의 색인을 사용합니다. JTable.convertColumnIndexToView로 표현 된 이러한 개념에 JXTable의 문서가 대응하고있는 경우, 「가시 순서」= 「가시 순서의 현재의 순서」및 「모델의 순서」= 「순서 붙일 수있다」인 경우, 매우 도움이됩니다. –
객관적인 포인트를 참조하십시오. 그러나 삽입 순서가 모델 순서와 다를 수 있습니다. 처음에는 열이 모델 순서로 삽입되지 않았습니다 .--) 숨겨진 열을 지원하면 JXTable에서 "차원"을 추가하여 숨겨진 열을 다시 표시 할 수 있습니다 눈에 보이는 기둥을 움직일 때까지 감추어 진 순간에 뷰 위치에 가장 가깝게 움직여야합니다. 따라서 세 번째 좌표계가 있습니다 : 현재보기 (현재 표시), 잠재보기 (모든 숨김 표시) 및 모델입니다. 그 사실을 더 잘 공식화하기위한 기부는 행복하게 받아 들여집니다 :-) – kleopatra