gpt4 book ai didi

java - 是否有将 F6 作为默认加速器的 Swing 元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:23 28 4
gpt4 key购买 nike

我有一个带有选项卡式 Pane 和不同组件的应用程序。我已将 MenuItem 设置为带有加速器的 Action:

private final Action focusDefaultCommandsAction = new AbstractAction()
{
{
putValue(NAME, "Fokusiere Kommandoliste");
putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_F6, 0));
}

@Override
public void actionPerformed(final ActionEvent e)
{
invokeShowCommandsList();
}
};

我知道有一个选项卡的 F6 键加速器不起作用。 F7 键有效。

Swing 元素上是否有优先于我的加速器的默认加速器?

最佳答案

您可以在 BasicLookAndFeel.java(或类似类,具体取决于您使用的 L&F)中查找,按 F6 搜索。

看起来 JSplitPane 使用 F6 在内容和分隔线之间切换焦点。要删除它,您可以使用类似的东西(未经测试,我认为删除实际操作更难,因为它可能在父输入映射中):

splitPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_F6, 0), "none");

关于java - 是否有将 F6 作为默认加速器的 Swing 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8243720/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com