JTable table = new JTable();
3) 以表头和表数据创建表格,并且让表单元格不可改.
二.对表格列的控制 1) 设置列不可随容器组件大小变化自动调整宽度.
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
TableColumn firsetColumn = table.getColumnModel().getColumn(0);
firsetColumn.setPreferredWidth(30);
firsetColumn.setMaxWidth(30);
firsetColumn.setMinWidth(30);
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
int count=5;
tableModel.setColumnCount(count);
int cols = table.getColumnCount();
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.addColumn("新列名");
table.removeColumn(table.getColumnModel().getColumn(columnIndex));// columnIndex是要删除的列序号
三.对表格行的控制 1) 设置行高
table.setRowHeight(20);
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
int n=5;
tableModel.setRowCount(n);
int rows = table.getRowCount();
5) 删除表格行
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
model.removeRow(rowIndex);// rowIndex是要删除的行序号
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
String cellValue=(String) tableModel.getValueAt(row, column);// 取单元格数据,row是行号,column是列号
2) 取得表格中的数据
五.取得用户所选的行 1) 取得用户所选的单行
例子:
private JTable getJTable0() { if (jTable0 == null) { jTable0 = new JTable(); jTable0.setModel(new DefaultTableModel(new Object[][] { {false, "null", "null", "com1", "null", "null", "null", "null", "null", "null", }, {false, "null", "null", "com2", "null", "null", "null", "null", "null", "null", }, { false, "null", "null", "com3", "null", "null", "null", "null", "null", "null",}, { false,"null", "null", "com4", "null", "null", "null", "null", "null", "null", }, { false,"null", "null", "com5", "null", "null", "null", "null", "null", "null", }, { false, "null", "null", "com6", "null", "null", "null", "null", "null", "null",}, { false, "null", "null", "com7", "null", "null", "null", "null", "null", "null", }, {false, "null", "null", "com8", "null", "null", "null", "null", "null", "null", }, { false,"null", "null", "com9", "null", "null", "null", "null", "null", "null", }, { false,"null", "null", "com10", "null", "null", "null", "null", "null", "null", }, {false, "null", "null", "com11", "null", "null", "null", "null", "null", "null", }, { false, "null", "null", "com12", "null", "null", "null", "null", "null", "null", }, }, new String[] {"操作", "ID", "status", "序号", "产品序列号", "半成品序列号", "所属工作任务号", "产品型号(pn码)", "生产进度状态", "端口状态", }) { private static final long serialVersionUID = 1L; Class<?>[] types = new Class<?>[] { Boolean.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, Object.class, }; public Class<?> getColumnClass(int columnIndex) { return types[columnIndex]; } // //使table不可编辑的代码(放在model中有效)全部不可编辑 // public boolean isCellEditable(int row, int column) // { // return false; // } //指定列不可编辑 boolean[] editables = {true, false, false,false,false,false,false,false,false,false}; public boolean isCellEditable(int row, int col) { return editables[col]; }
//指定行不可编辑 boolean[] editables = {true, false, false,false,false,false,false,false}; public boolean isCellEditable(int row, int col) { return editables[row]; }
}); } return jTable0; }