gpt4 book ai didi

Java获取焦点

转载 作者:行者123 更新时间:2023-12-01 16:49:46 25 4
gpt4 key购买 nike

所以我正在用 Java 开发一个类似钢琴的程序。我使用如下所示的方法来触发每个键的正确声音

public void Sound(String file){

try{
AudioInputStream ais = AudioSystem.getAudioInputStream(getClass().getResource(file));
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(getClass().getResource(file)));
clip.start();
}catch(Exception e){
e.printStackTrace();
}

game.setFocusable(true);//my desperate try to regain focus on click...
game.requestFocus();

}

然而,在一段时间后,KeyListener 完全失去焦点KeyEvent 将不再被触发。如果有人知道我如何获得对框架中的 KeyListener 的关注,我很可能会听到您所说的内容。

我尝试过的:

  1. 触发后将面板再次设置为可聚焦

  2. 确保程序仍然在后台运行,并且确实是面板失去焦点。

  3. 其他小调整

最佳答案

之前已经多次询问过这个问题,在这种情况下,最好的解决方案是不使用 KeyListener。而是使用 Key Bindings (点击链接),它在组件焦点方面表现得更好。

侧面建议:请确保在 Swing 事件线程关闭时播放音乐,以免占用此线程并卡住 GUI,并且所有 Swing 调用都开启 Swing 事件线程。

关于Java获取焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42888142/

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