Java 分配;ctrl+;“空间”;jtable选择到另一个键的行为

Java 分配;ctrl+;“空间”;jtable选择到另一个键的行为,java,jtable,Java,Jtable,我希望能够通过按numpad“+”键而不是按“ctrl+space”来导航JTable并选择多个非连续行。 首先,我尝试了使用changeSelection、addRowSelectionInterval和setRowSelectionInterval的多个代码,但我无法执行与使用“ctrl+space”相同的行为 所以我意识到,在JTable上尝试改变这种行为会更容易。我想我可以通过代码导航找到类代码,但我找不到它。我想这并不像我想的那么简单 请给我一个关于这个问题的见解。谢谢 更新: 我的

我希望能够通过按numpad“+”键而不是按“ctrl+space”来导航JTable并选择多个非连续行。

首先,我尝试了使用changeSelection、addRowSelectionInterval和setRowSelectionInterval的多个代码,但我无法执行与使用“ctrl+space”相同的行为

所以我意识到,在JTable上尝试改变这种行为会更容易。我想我可以通过代码导航找到类代码,但我找不到它。我想这并不像我想的那么简单

请给我一个关于这个问题的见解。谢谢


更新:

我的想法是设置“up”和“down”,使其与“ctrl+up”和“ctrl+down”在导航JTable时的功能完全相同,即能够按“space”并选择多个非连续单元格

守则:

    KeyStroke ctrlUpKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_UP, InputEvent.CTRL_DOWN_MASK);
    KeyStroke ctrlDownKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, InputEvent.CTRL_DOWN_MASK);
    KeyStroke upKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0);
    KeyStroke downKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0);

    InputMap im = jTabelaConsumo.getInputMap(JComponent.WHEN_FOCUSED);

    im.put(upKeyStroke, im.get(ctrlUpKeyStroke));
    im.put(downKeyStroke, im.get(ctrlDownKeyStroke));
我不知道“ctrl+space”函数对我在按键操作时调用它有什么作用——

查看每个组件的默认键绑定列表


它还将向您展示如何使用不同的键绑定共享操作。

您需要通过表格或选择模型指定新的键绑定,并在触发时操作选择。我需要更改它的键绑定。但问题是:这一行动需要什么?我不知道在我的keyActionSystem.out.println(“im=“+im.allKeys().length”);-System.out.println(“im=“+im.size());->im=0选择这个动作让我走上了正确的方向,但它还不起作用@FelipeCarminati,你查过我给你链接的键绑定程序了吗?在我看来,您使用了错误的InputMap。所有绑定都是对“祖先”映射进行的,而不是集中的映射。