读取突出显示的 Jtable 行的数据

Reading the Data of a Highlighted Jtable Row

我有一个包含多行数据的 JTable

我有这个事件,每次鼠标点击一行时都会监听

private void tablePOMouseClicked(java.awt.event.MouseEvent evt) {                                      
    try {
        int row1 = tablePO.getSelectedRow();
    cellA = tablePO.getValueAt(row1, 0).toString();
    cellB = tablePO.getValueAt(row1, 1).toString();
    cellC = tablePO.getValueAt(row1, 2).toString();
    cellD= tablePO.getValueAt(row1, 3).toString();
    cellE = tablePO.getValueAt(row1, 4).toString();
    cellF = tablePO.getValueAt(row1, 5).toString();
    cellG = tablePO.getValueAt(row1, 6).toString();
    cellH = tablePO.getValueAt(row1, 7).toString();

    } catch (Exception e) {
    }
}

可变单元格A-H均为字符串

它工作正常,但现在我想改变它,我不希望用户需要使用鼠标,所以相反,我希望用户只 select 使用任一 UP/DOWN 箭头导航行并将 selected 行放在突出显示下,但我不知道如何实现它,使用 highlighted/selected 行读取数据 UP/DOWN 键(不是通过鼠标单击指向行)。

ListSelectionListener 添加到 table。

无论您是使用鼠标还是键盘,只要行选择发生变化,就会生成一个事件。

阅读有关 How to Write a ListSelectionListener 的 Swing 教程部分,了解更多信息和工作示例。