JTable(表格)
表格由兩部份組成:分别是行标題(Column Header)與行對象(Column Object).利用JTable所提供的getTableHeader()方法取得行标題。在這個例子中,我們将JTable放在 JScrollPane中,這種做法可以将Column Header與Colmn Object完整的顯示出來,因為JScrollPane會自動取得Column Header
JFrame jf = new JFrame();
jf.setSize(600, 600);
//居中對齊
jf.setLocationRelativeTo(null);
//這是表格資料模型需要傳入的表格資料
String[] colNames = {"姓名","性别","年齡","電話"};
String[][] data = {
{"a1","男","11","1223656778"},
{"a2","男","22","2314234"},
{"a3","女","33","435634576367"},
{"a4","男","44","8796789"},
{"a5","女","55","23454527246"},
};
A.自定義的表格資料模型
// TableModel myModel = new MyTableModel();
// TableModel myModel = new MyTableModelV2(colNames, data);
B.系統預設的表格資料模型
// DefaultTableModel myModel = new DefaultTableModel(data, colNames);
//如果要能看到table的表頭,那麼 必須将 table 放到
//JScrollPane中!!!
// JTable table = new JTable(myModel);
C.用JTable的構造方法直接初始化模型資料
JTable table = new JTable(data, colNames);
table.getTableHeader().setResizingAllowed(false);//拉伸表格長度
table.getColumnModel().getcolumn(3).setCellEditor(new DefaultCellEditor(comboBox));//給 第三列單元格添加下拉框(comboBox)
JScrollPane jsp = new JScrollPane(table);
jf.add(jsp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
效果圖檔展示如下:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DO0ITMwEzM5AzNyUDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)