我正在扩展JTable,我有一个populateData()方法,我用它来将数据加载到表模型中。在这个方法中,我正在使用:
setRowSelectionInterval(tableRow, tableRow);
它正如我所希望的那样工作,这是为了突出显示第一行。但是有一个问题:我无法通过向下箭头键将选择移动到下一行。我必须用鼠标点击任何行(甚至是突出显示的那一行)才能通过箭头键导航。
void populateData(Collection<Book> b) {
myModel.populateData(b);
if (myModel.getRowCount() > 0) {
setRowSelectionInterval(0, 0);
}
}
注意:我只启用行选择。列和单元格选择已禁用。
任何想法如何解决这个问题?
提前致谢。
答案 0 :(得分:2)
我猜测的焦点不在桌子上,所以它不会对按键做出反应。您可能需要添加:
table.requestFocusInWindow();
如果这不起作用,请尝试使用:
而不是setRowSelectionInterval(...)table.changeSelection(0, 0, false, false);