Swing基本元件使用4(JTable)
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",
};
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);
效果圖片展示如下: