我有一个带有数据行的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) {
    }
}


变量cellA-H都是字符串。

它的工作正常,但是现在我想更改它,我不希望用户需要使用鼠标,因此,我希望用户仅使用向上/向下箭头选择该行来导航行并放入选中的行在突出显示下显示,但是我不知道如何实现,使用UP / DOWN键(而不是通过单击鼠标指向行)从突出显示/选择的行中读取数据。

最佳答案

在表中添加ListSelectionListener

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

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

08-18 19:34