2011-01-08 3 views
0

저는 9 개의 열이있는 JTable을 가지고 있습니다. 렌더러 당 약 8 줄의 코드를 사용하여 각 열에 대한 사용자 정의 셀 렌더러를 만들 수 있다는 것을 알고 있습니다.자바 JTable : 모든 기본 셀 정렬 기술?

하지만 정말 필요한 것은 모든 셀에 배치 된 텍스트를 오른쪽 정렬로 표시하는 것입니다. 전체 테이블에 대해이 정렬을 설정할 수있는 방법이 있습니까?

미리 제안 해 주셔서 감사합니다.

존 Doner

답변

5

이 시도 : 각 셀은 이미 렌더러를 가지고

for (int i = 0; i < myTable.getModel().getRowCount(); i++) { 
    for (int j = 0; j < myTable.getModel().getColumnCount(); j++) { 
     DefaultTableCellRenderer renderer = 
     (DefaultTableCellRenderer)myTable.getCellRenderer(i, j); 
     renderer.setHorizontalAlignment(JTextField.RIGHT); 
    } // End for(j) 
} // End for(i) 

때문에, 이것은 각 셀의이 TableModel에서 TableCellRenderer 기존 잡고 JLabel에서 상속 내장 방법 setHorizontalAlignment(int)를 사용합니다.

희망하시는 분이 계세요!

+0

이 수정 (대부분 사소한 문제)을 수행하기 위해 두 가지 편집 작업을 수행해야했기 때문에 피곤해졌습니다. 따라서 다른 것을 스크류하지 않았을 것입니다. –

+0

나는 이것을 시도하고 완벽하게 작동합니다. 그러나 여기에 미스터리가 있습니다. do 루프를 제거하고 단일 셀 렌더러의 수평 정렬을 오른쪽으로 설정하면 테이블의 모든 셀이 동일하게 정렬됩니다. 왜 그런가요? –

+0

'JTable'의 생성 방법에 따라, 단일의 DefaultTableCellRenderer가 모든 셀에 사용될 수 있습니다. 따라서 자신 만의 렌더러를 정의하지 않는다면 그럴 수 있습니다. –