저는 Swing을 처음 접했고 JTable 구성 요소로 어려움을 겪었습니다. 나는 다소 멋진 테이블을 만들기 위해 노력하고 있기 때문에 어느 곳에서나 찾고있는 특정 답변을 찾을 수 없었습니다.JTable 헤더 및 스페이서 행
나는 테이블의 맨 위에 "그룹"의 헤더를 갖고 싶습니다. 이것은 전체 테이블에 걸쳐있는 3 또는 4 개의 행을 의미하며 여러 열을 본질적으로 분할하여 "그룹화"합니다.
예 (눈의 피로를 사면)
////////////////////////////////ANIMALS//////////////////////////
/////////Mammals///////////////////////Rodents///////////////////
////People/////Dogs//////////Rats/////Rodents of Unusual Size////
슬래시 ("/") 공백을 나타내는 곳. 첫 번째 헤더 인 "ANIMALS"은 표의 모든 열을 나타냅니다. 두 번째 헤더는 ANIMALS 등의 파티션을 내린다. 마지막 세 번째 헤더 다음에는 실제 테이블에 도착합니다. 각 테이블에는 각 유형의 Animal에 대해 하나씩 4 개의 열이 있습니다.
분명히 이것은 예이며 아마도 나쁜 것일 수도 있지만, 이것은 "헤더 분할"을 의미합니다.
내 질문 : 내가있는 JTableHeader과의 TableColumnModel가이 기능을 지원하는 방법을 볼 수 없습니다. 그럴 경우 누군가가 올바른 방향으로 나를 밀어 붙일 수 있습니까? 그렇지 않다면, 스윙 앱이 이와 같은 것을 필요로하는 것은 이번이 처음 일 수는 없습니다. 누구든지 알고있는 타사 구성 요소는 무엇입니까?
또한 "Spacer"또는 스패닝 행을 내 테이블 전체에 뿌려서 행 그룹을 나타낼 수 있기를 바랍니다. 이러한 스페이서는 테이블 내부에 존재하지만 머리글처럼 위에 있지는 않지만 모든 열에 걸쳐 있고 후속 행에 의해 표현 된 그룹의 이름을 나타내는 단일 레이블을 갖습니다. 다시 말하지만,이 아이디어를지지하는 스윙을 보지 못합니까?
감사합니다. 정말 끔찍한 예제/그림을 사과드립니다.
(가) 헤더에 영향을 미치는 렌더러, 당신은'table.getTableHeader()를 사용하지 않을 것입니다. setDefaultRenderer()'? – trashgod
는 나에게 야생의 추측처럼 보입니다 - 또는 정말로 시도해 봤나 ;-) – kleopatra
@kleopatra : 나는 정말 비슷한 것을 시도했습니다. – Heisenbug