java - 从 JTable 中选定列获取数据的简单方法

标签 java swing jtable

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

我正在尝试通过MouseListener来做到这一点,但我只能获取单击的单元格,而不能获取整个列。

最佳答案

您需要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();
    }

关于java - 从 JTable 中选定列获取数据的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16338039/

相关文章:

java swing addactionlistener JButton

java - 设置JTable可选择但不可编辑

Java Swing : Combine RowFilter. andFilter with RowFilter.orFilter

Java swing多个JTables一个ColumnModel

java - 格雷戈里级数给出的结果值很接近,但不正确?

java JMenuBar空指针异常

java - 如何对同步代码进行单元测试

java - 如何通过JFileChooser删除文件?

java - 修改 HttpServletRequest 的路径参数

java - 在if语句中创建对象