setRowSelectionInterval

setRowSelectionInterval

我正在扩展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);

07-24 09:18