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);
效果图片展示如下: