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 |