gpt4 book ai didi

java - 打开 SubDialog 后,InputMap/ActionMap 不起作用

转载 作者:行者123 更新时间:2023-12-01 04:44:26 26 4
gpt4 key购买 nike

我尝试让对话框在按 ESC 时关闭,并在按 ENTER 时接受。所以我使用 Input/ActionMap 构建了一个父类(super class)“CloseableDialog”,如下所示:

    getRootPane().getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "accept");
getRootPane().getActionMap().put("accept", acceptAction);

getRootPane().getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "cancel");
getRootPane().getActionMap().put("cancel", cancelAction);

现在我构建了几个扩展 CloseableDialog 的对话框。它第一次按方面工作(按 ESC 时关闭,按 ENTER 时接受),但是当我打开子对话框(对话框中的对话框)时,只有子对话框可以通过按 ESC 关闭(ESC -> 子对话框关闭,其他对话框可见 -> ESC-> 没有任何反应)。

有什么想法吗?

我认为,已处理的子对话框仍然获得另一个对话框的输入,但我不确定。

最佳答案

当组件获得焦点时,快捷方式才起作用。我认为焦点不在您之前打开的窗口中。尝试将焦点返回到需要快捷方式正常工作的窗口。尝试单击该窗口并应用快捷方式。也许它会起作用。否则你必须处理 get focus to the window

关于java - 打开 SubDialog 后,InputMap/ActionMap 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16079155/

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