JTable을 사용하면서 각 셀에 원하는 크기로 셀 너비를 조정해야 할 경우가 생긴다.
여러가지 방법이 있으나 setPreferredWidth() 펑션과 <---- 셀 너비 조절
DefaultTableCellRenderer <---- 셀 안에 들어가는 데이터의 정렬을 조절
를 사용하는 가장 간단한 방법을 이용해 보자.
테이블을 생성하는 기본적인 코드 (헤더와, 셀) 배열과 이둘을 파라미터로 한 테이블 생성,
JScrollPane을 이용하여 테이블 완성 이라는 공식을 따라 기본적인 테이블을 작성한다.
이후 원하는 셀의 너비를 조정하고, 글자 정렬을위해 DefaultTableCellRenderer 객체를 이용한다.
DefaultTableCellRenderer celAlignCenter = new DefaultTableCellRenderer();
celAlignCenter.setHorizontalAlignment(JLabel.RIGHT);
위 코드와 같이 DefaultTableCellRenderer 의 객체를 하나 생성하고, 객체의 setHorizontalAlignment() 매소드를 이용하여
해당 셀에 출력될 데이터 정렬을 지정한다. 이때 인자는 JLabel을 이용하되. 저정 변수인 CENTER, RIGHT, LEFT 등을 이용하여 정렬을 지정해 둔다.
이후 이 설정을 적용하기위해 table객체에서 .getColumn() 매소드로 해당 컬럼을 가져온뒤, .setCellRenderer(); 매소드로
정렬을 지정한다. 이때 setCellRenderer(); 매소드의 인자는 위에서 지정해둔 DefaultTableCellRenderer의 객체인다.
table.getColumn("Month").setPreferredWidth(10);
비슷한 방법으로 셀의 너비지정은 table객체의 .getColumn() 매소드로 해당 컬럼을 가져온뒤, .setPreferredWidth 매소드로 너비를 픽셀 단위로 지정하면된다.
예제 코드
위의 예제 코드는 데이터 베이스에서 cell 데이터들을 가져오는 예제로 실제 테스트 시 에는, String[][] 등의 이중 배열에
데이터를 넣어두고 table의 cell 로 사용하면 된다.
결과
'Progamming > Java' 카테고리의 다른 글
java 패키지소스와 jdbc드라이버 사용해 리눅스에서 명령어로 실행하는 방법 (0) | 2011.11.15 |
---|