报错原代码:
table = new JTable(); table.setFont(new Font("宋体", Font.PLAIN, 25)); table.setRowHeight(50);// 设置表格行宽 table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS); for (int i = 0; i < 5; i++) { TableColumn column = table.getColumnModel().getColumn(i); if (i == 0) { column.setPreferredWidth(20); } } scrollPane.setViewportView(table); DefaultTableModel tableModel=(DefaultTableModel) table.getModel(); //获得表格模型 tableModel.setRowCount(0); //清空表格中的数据 tableModel.setColumnIdentifiers(new Object[]{"书名","出版社","出版时间","丛书类别","定价"}); //设置表头 tableModel.addRow(new Object[]{"Java从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","59.8元"}); //增加列 tableModel.addRow(new Object[]{"PHP从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元"}); tableModel.addRow(new Object[]{"Visual Basic从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元"}); tableModel.addRow(new Object[]{"Visual C++从入门到精通(第2版)","清华大学出版社","2010-07-01","软件工程师入门丛书","69.8元" });原因:数组越界,列数为0 改正:在为表格添加数据后再获取列
