IT_Programming/Java

JTable setPreferredWidth 각 컬럼 너비조절

JJun ™ 2008. 8. 20. 08:04

 


import java.util.Vector;
import javax.swing.*;
import javax.swing.table.*;
class table_test extends JFrame{
private DefaultTableModel dtm;
private JTable jt = new JTable();
private JScrollPane jsp = new JScrollPane(jt);
public table_test(){
  this.init();
  this.setSize(300, 200);
  this.setVisible(true);
}
public void init(){
 

  this.getContentPane().add("Center", jsp);
 
  Vector attribute = new Vector(); // 한 행에 입력될 속성
  attribute.addElement("김씨");
  attribute.addElement("서울대학교");
  Vector data = new Vector(); // 이름과 소속 속성을 가지는 하나의 행 벡터
  data.add(attribute);
 
  Vector header = new Vector();
  header.add("이름");
  header.add("소속");
 
  dtm = new DefaultTableModel(data, header);
  jt.setModel(dtm);
//  System.out.println(jt.getColumnModel().getTotalColumnWidth()); // 기본값 75+75 = 150
//  jt.getColumnModel().getColumn(0).setWidth(100);
//  jt.getColumnModel().getColumn(1).setWidth(200);
//  System.out.println(jt.getColumnModel().getTotalColumnWidth()); // 변경값 100+200 = 300
//setWidth 의 영문 번역 입니다. 
//This method should not be used to set the widths of columns in the JTable, use setPreferredWidth instead.
//이 method 은 칼럼의 폭을 JTable로 세트 하는데 이용되어서는 안됩니다. 그리고, 그 대신에 setPreferredWidth 이 사용이 됩니다

  jt.getColumnModel().getColumn(0).setPreferredWidth(100);
  jt.getColumnModel().getColumn(1).setPreferredWidth(200);
//  jt.getColumnModel().getColumn(0).setMinWidth(width);
//  jt.getColumnModel().getColumn(0).setMaxWidth(width);
//jt.repaint(); // 보여지는 테이블의 컬럼길이는 그대로인게 문제
}

}
public class tableTest{
public static void main(String[] ar){
  new table_test();
}
}

'IT_Programming > Java' 카테고리의 다른 글

java 24시간제를 12시간제로 바꾸기   (0) 2008.08.20
java StringTokenizer   (0) 2008.08.20
JTabbedPane 에서 탭 스타일 수정하기   (0) 2008.08.20
JDBC를 위한 클래스  (0) 2008.08.01
[펌] 자바 가상 머신이란?  (0) 2008.07.27