我有一个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/