gpt4 book ai didi

java keyevent 无法按预期工作

转载 作者:行者123 更新时间:2023-12-01 17:06:30 25 4
gpt4 key购买 nike

我将在java中创建简单的打字游戏。所以我创建了新的类wordpanel,它扩展了jpanel。除了按键事件之外,一切都正常。当我按下一个键时,所有第一个jlable面板的前景应该更改为黄色.但我认识到该行没有执行,因为即使我输入 sout() 我也没有得到输出。我找不到这段代码的错误所在。这是我的代码

public class wordPanel extends JPanel{

public wordPanel(String word) {

setOpaque(true);
char letters[];
letters = word.toCharArray();
JLabel lab[]=new JLabel[letters.length];
setLayout(new GridLayout(1, letters.length));
for(int i=0;i<letters.length;i++){
lab[i]=new JLabel(letters[i]+"");
this.add(lab[i]);
}

this.addKeyListener(new java.awt.event.KeyAdapter() {
@Override
public void keyPressed(java.awt.event.KeyEvent evt) {
char ch = evt.getKeyChar();
lab[0].setForeground(Color.YELLOW);
System.out.println("hey");
}
});



}

}

这是对象创建 block

        wordPanel wp1=new wordPanel("hello");
Dimension d = wp1.getPreferredSize();

wp1.setBounds(rand.nextInt((500 - 5) + 1) + 5, rand.nextInt((300 - 5) + 1) + 5, d.width, d.height);
jPanel1.add(wp1);
revalidate();

最佳答案

Swing 并不意味着使用 KeyListeners,使用键绑定(bind)会更好,而且您不必太担心焦点问题。请参阅:http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

按键绑定(bind)很难,这里有一个教程: http://www.dreamincode.net/forums/topic/245148-java-key-binding-tutorial-and-demo-program/

关于java keyevent 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25366897/

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