Java 获取选定JTable行中所有列的值

Java 获取选定JTable行中所有列的值,java,swing,jtable,listselectionlistener,Java,Swing,Jtable,Listselectionlistener,因此,我有一个应用程序,其中我有一个JTable,其中填充了与计算机上的进程列表相关的值(因此它有进程名称、PID、内存偏移量等)。作为这项工作的一部分,我想在用户单击某个进程的某一行时收集进程名称和PID——但我该如何做呢?如果我调用“table.getSelectedRows()”或“table.getSelectedColumns()”并选择一行,我只会得到一个元素,表示单击字段的列或行索引。感谢您的帮助。您可以通过调用table.getValueAt(行,列)为每列获取一次行中每个单元格

因此,我有一个应用程序,其中我有一个JTable,其中填充了与计算机上的进程列表相关的值(因此它有进程名称、PID、内存偏移量等)。作为这项工作的一部分,我想在用户单击某个进程的某一行时收集进程名称和PID——但我该如何做呢?如果我调用“table.getSelectedRows()”或“table.getSelectedColumns()”并选择一行,我只会得到一个元素,表示单击字段的列或行索引。感谢您的帮助。

您可以通过调用table.getValueAt(行,列)为每列获取一次行中每个单元格的数据,其中“行”是选定的行索引,“列”是列的零基索引

但是,请注意,这可能有点问题,因为用户可以对列重新排序,并且此方法以显示顺序引用列


更好的方法是通过table.getModel()引用JTable的TableModel,然后使用TableModel的getValueAt()方法以模型顺序获取列(当列在视图中重新排序时,该顺序不会更改)。

给定所选行,请使用
getValueAt(行,列)
。如果你不能从这件事中找到答案,尽管问,但我相信你能。