Java 从JTable第一行删除焦点

Java 从JTable第一行删除焦点,java,swing,focus,jtable,Java,Swing,Focus,Jtable,我有JTable和其中的行。默认情况下,第一行处于选中状态,焦点位于其中。我如何取消选择第一行并将焦点更改为其他地方,.addListener(new RowSetListener()也将在第一行工作 我已经试过了: tableZaposlenciView1.setRowSelectionAllowed(true); //tableZaposlenciView1.getSelectionModel().clearSelection(); //tableZaposlenciView

我有JTable和其中的行。默认情况下,第一行处于选中状态,焦点位于其中。我如何取消选择第一行并将焦点更改为其他地方,
.addListener(new RowSetListener()
也将在第一行工作

我已经试过了:

tableZaposlenciView1.setRowSelectionAllowed(true);        
//tableZaposlenciView1.getSelectionModel().clearSelection();
//tableZaposlenciView1.setColumnSelectionInterval(0,0);
//tableZaposlenciView1.setRowSelectionInterval(false,false);        
tableZaposlenciView1.changeSelection(0,0,false,false);
tableZaposlenciView1.requestFocus();

但是它不起作用。

看看JTable的changeSelection()方法。我相信它能满足您的需要

编辑:如果要清除所选内容:

JTable table = ...;
table.getSelectionModel().clearSelection();

如果其他人对ADF和JTable有类似的问题,这里是解决方案。我通过在VOIMPL上重写first()来实现这一点。我的问题可以解决

这在许多情况下都很有用:

  • 刷新后没有选择(仅从first()返回null)
  • 刷新后重新选择特定行(刷新前,将行键存储在first()中,刷新后,如果找到存储的键,则导航到该行并从first()返回该行)
  • 刷新工作列表后,查找用户要处理的下一个匹配行
  • 避免在VL情况下执行代价高昂的细节

好吧,如果您想更改为(0,0)以外的内容,也许您不应该使用(0,0)作为changeSelection()的参数,对吗?我可以尝试12,2,但是相同的changeSelection(…)对我来说非常好。发布您的SSCCE()演示问题。我们不能一直猜测您可能在做什么或不在做什么。我尝试使用tableZaposlenciView1.getSelectionModel().clearSelection();以及tableZaposlenciView1.requestFocus()进行测试但第一行始终处于选中状态,第一行的侦听器不工作。我没有更多的想法……我还尝试将焦点添加到其他组件上,如布尔检查=panelTabi.requestFocusInWindow();但使用
clearSelection()
ListSelectionDemo
中工作时,检查始终为false+1,