获取所有选定JTable列的值

时间:2014-03-01 21:57:16

标签: java swing jtable

我有一个表格,我在其中导入一个巨大的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文件。

0 个答案:

没有答案