Java中如何用数组设置JTable表格的列名与列宽
1.在项目中创建窗体类ArrayCreateTable。在窗体中添加一个滚动面板。
2.编写getTable()方法来创建表格,在该方法中声明字符串数组columns作为表格的列名,再声明int类型的数组来定义每个表格列的宽度。然后创建表格的数据模型并遍历所有表格列对象,根据int类型数组的索引来设置表格列的宽度。
代码如下:
private JTable getTable() {
if (table == null) {
table = new JTable();
// 定义列名数组
String[] columns = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六",
"星期日" };
// 定义列宽数组
int[] columnWidth = { 10, 20, 30, 40, 50, 60, 70 };
// 创建表格数据模型
DefaultTableModel model = new DefaultTableModel(columns, 15);
table.setModel(model);// 设置表格数据模型
TableColumnModel columnModel = table.getColumnModel();// 获取列模型
int count = columnModel.getColumnCount();// 获取列数量
for (int i = 0; i < count; i++) {// 遍历列
TableColumn column = columnModel.getColumn(i);// 获取列对象
column.setPreferredWidth(columnWidth[i]);// 以数组元素设置列的宽度
}
}
return table;
}
private String[] columnNames=;
private Object[][] rowData=new Object[0][4];
private DefaultTableModel tableModel=new DefaultTableModel(rowData,columnNames);
private JTable jTable=new JTable(tableModel);
//设置居中
DefaultTableCellRenderer r = new DefaultTableCellRenderer();
r.setHorizontalAlignment(JLabel.CENTER);
jTable.setDefaultRenderer(Object.class, r);