如何在Java中的Gui中添加按键监听器 [英] How can i add a keylistener to my Gui in java
本文介绍了如何在Java中的Gui中添加按键监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的Gui
I have a simple Gui
public Gui(){
ablak = new JFrame("Snake game");
ablak.setVisible(true);
ablak.setSize(new Dimension(600,600));
ablak.setFocusable(true);
ablak.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ablak.add(new Grid());
ablak.add(new Key());
}
以及用于列出事件的列表器的键类
And a key class to listner to keyevents
package snake;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Key implements KeyListener {
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("Hi");
}
}
@Override
public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
如您所见,按向上箭头键应显示类似Hi的字样,但没有任何反应. 如果我尝试在Gui类中添加(new Key()),则会出现错误. 我在做什么错了?
As you can see pressing the Up arrow key should say something like Hi, but nothing happens. If i try to add(new Key()) in Gui class it gives an error. What am i doing wrong?
谢谢
推荐答案
您需要使用addKeyListener()
方法:
public class Test2 {
public static void main(String[] args) {
JFrame ablak = new JFrame("Snake game");
ablak.setVisible(true);
ablak.setSize(new Dimension(600,600));
ablak.setFocusable(true);
ablak.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ablak.addKeyListener(new KeyListener(){
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_UP){
System.out.println("Hi");
}
}
@Override
public void keyTyped(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void keyReleased(KeyEvent e) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
});
ablak.setVisible(true);
}
}
这篇关于如何在Java中的Gui中添加按键监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文