我有一个表格,我在其中导入一个巨大的txt文件(超过500列),我需要能够完全选择某些列(即我选择的列中的所有行)然后执行对它们进行一些数学运算。 我已经能够一次性选择一个或多个列,但我无法获得所选列的值。我做了一些阅读,在SO上找到了这个代码,然后我把它应用到了我的按钮的动作监听器。
JButton btnDoSomething = new JButton("Do Something");
btnDoSomething.setBounds(248, 188, 151, 23);
contentPane.add(btnDoSomething);
btnDoSomething.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent arg0)
{
int[] columns = table.getSelectedColumns();
model = (DefaultTableModel) table.getModel();
//System.out.println(columns[0]);
int rowcount = model.getRowCount();
String[][] output = new String[columns.length][rowcount];
for (int i = 0; i < columns.length; i++)
for (int row = 0; row < rowcount; row++)
{
int column = table.convertColumnIndexToModel(columns[i]);
output[i][row] = model.getValueAt(row, column).toString();
}
System.out.println(output);
}
});
现在理论上,我得到了所选择的列数和行数(我尝试打印这些数字并且它们是正确的,所以我知道它在那里工作),输出字符串数组然后被轰击数据。当我尝试打印它时,我在行
处得到一个空指针异常点output[i][row] = model.getValueAt(row, column).toString();
任何建议,以便我可以获得价值观?我需要缩小数据,然后将所有内容导出到excel文件。