Java JTable焦点相关查询?

Java JTable焦点相关查询?,java,jtable,Java,Jtable,在Jtable中,当按下Tab键时,焦点将转移到表格的下一个单元格。如果你必须限制运动,有没有可能的方法 先谢谢你 JTable table = ...; table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put( KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "none"); table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOC

在Jtable中,当按下Tab键时,焦点将转移到表格的下一个单元格。如果你必须限制运动,有没有可能的方法

先谢谢你

JTable table = ...;
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "none");
table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(
KeyStroke.getKeyStroke(KeyEvent.VK_TAB, InputEvent.SHIFT_DOWN_MASK), "none");
若焦点到达行(0)的末尾,则不应输入行

您需要用自己的自定义操作替换默认的左/右操作

您可以选择编写自己的操作。这并不难。您需要做的就是使用下一个列号调用表的changeSelection(…)方法


或者演示如何重用现有操作。这可能不是此需求所必需的,但对于更复杂的需求可能会有所帮助

所以你想按TAB键不拉屎吗?是的,我有TextFeild,当验证时,它会变成红色,当焦点移到单元格下方时,红色就消失了,所以试图限制移动…谢谢,这可以做到吗,只是出于好奇,焦点移动是否只能面向行,即,如果焦点到达行(0)的末尾,不应输入第(1)行。。。。提前感谢您……您可以通过向表中添加一个keylistener并在键入的键上移动到您想要的位置,或者通过在向上操作getTable().getInputMap().put(KeyStroke.getKeyStroke(“down”),“DomainRowDown”)中替换默认的选项卡/向下箭头来自己完成;getTable().getActionMap().put(“doMyArrowDown”,新的ArrowDownAction());