我正在扩展JTable,我有一个populateData()方法,用于将数据加载到表模型中。在这种方法中,我使用:
setRowSelectionInterval(tableRow, tableRow);
它正在按我想要的方式工作,即突出显示第一行。但是有一个问题:我无法通过向下箭头键将选择移至下一行。我必须用鼠标单击任何行(甚至是突出显示的行),才能通过箭头键进行导航。
void populateData(Collection<Book> b) {
myModel.populateData(b);
if (myModel.getRowCount() > 0) {
setRowSelectionInterval(0, 0);
}
}
注意:我仅启用行选择。列和单元格选择被禁用。
任何想法如何解决这一问题?
提前致谢。
最佳答案
我想重点放在桌子上,这样它就不会对按键产生反应。您可能需要添加:
table.requestFocusInWindow();
如果这不起作用,请尝试使用setRowSelectionInterval(...)代替:
table.changeSelection(0, 0, false, false);