gpt4 book ai didi

java - 为什么我的 keyListener 在全屏时停止工作?

转载 作者:行者123 更新时间:2023-12-04 06:05:55 24 4
gpt4 key购买 nike

我有一个以通常方式定义的关键监听器:

frame.addKeyListener(this); 
frame.setFocusable(true);

以及处理按键按下的方法,即当遇到逃逸时程序退出。

这有效,但是当我使用以下方法使 JFrame 填充整个窗口时:
frame.setSize(Toolkit.getDefaultToolkit().getScreenSize());
frame.setLocation(0, 0);
frame.validate();

然后关键监听器停止工作。有人可以解释为什么会这样以及当我全屏显示以保持听众时我需要做什么吗?

TIA

最佳答案

which is when escape is hit the program exits.



你会添加 Key Bindings到框架的根 Pane 。就像是:
KeyStroke escapeKeyStroke = KeyStroke.getKeyStroke("ESCAPE");
Action escapeAction = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
// add code to end program
}
};

getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(escapeKeyStroke, "ESCAPE");
getRootPane().getActionMap().put("ESCAPE", escapeAction);

关于java - 为什么我的 keyListener 在全屏时停止工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8358903/

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