我有一个带有数据行的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教程中的部分,以获得更多信息和工作示例。