当前位置: 首页 > 面试题库 >

更改ENTER键功能

夏晋
2023-03-14
问题内容

我想更改上ENTER键的默认操作JTable,因此我使用了以下代码:

table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
        .put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Enter");
table.getActionMap().put("Enter", new AbstractAction() {
    private static final long serialVersionUID = 1L;
    public void actionPerformed(ActionEvent ae) {
        //my action
    }
}

Tt正常工作。我现在想要的是在操作后立即更改行。换句话说,执行Enter键的默认操作。


问题答案:

默认ActionENTER"selectNextRowCell"。如图所示在这里,你可以获取到原来的基准Action,并在新的处理程序唤起。

String name = "selectNextRowCell";
Action action = table.getActionMap().get(name);
…
public void actionPerformed(ActionEvent ae) {
    action.actionPerformed(new ActionEvent(table, ActionEvent.ACTION_FIRST, name));
}


 类似资料:
  • 我有一个windows窗体,我需要当用户按Enter时将焦点设置为下一个控件。任何想法如何实现这一点(不使用关键新闻事件)

  • VBox中有两个按钮。如果单击第一个按钮,然后按“tab”,焦点框架将移动到第二个按钮。所以我的问题是,如果我想使用“tab”来实现其他功能,我该如何更改、取消或阻止JavaFX中默认的“tab”功能呢?

  • 我有一个有多个输入框的表单,当第一个输入框有焦点时,如果我按Enter键,那么路线就会改变并导航到某个地方。我怎样才能阻止它?

  • 在这里,是主列键中的第三列。我想要做到这一点的唯一方法是将主复合键更改为。我找不到任何文档告诉我如何做到这一点。有可能吗? 或者,我是否错过了解决这个问题的“正确”方法/我是否曲解了这个问题?

  • 这就是我生成dutylist的方法。 这将更改对的第二个值 但是它会更改pos中的其他值,也就是说,如果我更改了StaffListUpdated[0].third[0]=pair,它也会更改StaffListUpdated[1].third[0]=pair。我试过很多种方法,但都无济于事。

  • 问题内容: 我正在为我的数据库开发GUI设计。 在设计了大多数框架并对其进行调试之后,我释放了我需要使用 ENTER 键(而不是仅单击它)将选项添加到“触发”按钮。 我应该怎么做?我当前正在为按钮使用 MouseListener ,并希望添加一个在按下ENTER键时执行相同操作的Listener。谢谢 问题答案: 使用Enter键调用按钮的动作是LAF问题。Windows支持该功能,但是在默认的M