从JTable中的选定列获取数据的简便方法

时间:2013-05-02 12:26:26

标签: java swing jtable

我有一个JTable,想要从每个选定的列中获取数据。通过鼠标单击选择列。因此,如果选择了5列,则输出必须是5个字符串数组。

我试图通过MouseListener执行此操作,但我只能获取单击的单元格,而不是整列。

1 个答案:

答案 0 :(得分:3)

您需要JTable.getSelectedColumns(),但它会返回选定的列索引,因此您需要访问TableModel(包javax.swing.table

int[] columns = jtable.getSelectedColumns();
TableModel model = jtable.getModel();
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 = jtable.convertColumnIndexToModel(columns[i]);
        output[i][row] = model.getValueAt(row, column).toString();
    }