我有一个包含数据行的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键(而不是通过单击鼠标指向行)从突出显示/选中的行中读取数据。 / p>
答案 0 :(得分:1)
向表中添加ListSelectionListener
。
无论使用鼠标还是键盘,只要行选择发生更改,都会生成一个事件。
阅读How to Write a ListSelectionListener的Swing教程中的部分,以获取更多信息和工作示例。