Java keyevent不能用
我的类里面有一个KEYEVENT和一个BUTTON,BUTTON被点击前,KEYEVENT能用,但BUTTON被点击后,KEYEVENT就不起作用了。BUTTON上无论加...
我的类里面有一个KEYEVENT和一个BUTTON,BUTTON被点击前,KEYEVENT能用,但BUTTON被点击后,KEYEVENT就不起作用了。BUTTON上无论加不加事件,总之点击之后,KEYEVENT就不起作用了。
请问这是什么问题啊,要怎么解决~
这些方法我都用到,我的按钮监听器和键盘监听器是放在一起的
private class Mazebuttonlistener implements MouseListener,KeyListener {
public void keyPressed(KeyEvent event) {
switch(event.getKeyCode())
{
case KeyEvent.VK_UP:
y-=MOVE;System.out.println("sdfsdf");break;
case KeyEvent.VK_DOWN:
y+=MOVE;break;
case KeyEvent.VK_LEFT:
x-=MOVE;break;
case KeyEvent.VK_RIGHT:
x+=MOVE;break;
}repaint();}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
public void mouseClicked(MouseEvent event) {
if( event.getSource() ==creatButton){}
else if( event.getSource() ==setButton){ }}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) { }}}
总之按钮一点,键盘事件就没有运行到我给我给它的动作 展开
请问这是什么问题啊,要怎么解决~
这些方法我都用到,我的按钮监听器和键盘监听器是放在一起的
private class Mazebuttonlistener implements MouseListener,KeyListener {
public void keyPressed(KeyEvent event) {
switch(event.getKeyCode())
{
case KeyEvent.VK_UP:
y-=MOVE;System.out.println("sdfsdf");break;
case KeyEvent.VK_DOWN:
y+=MOVE;break;
case KeyEvent.VK_LEFT:
x-=MOVE;break;
case KeyEvent.VK_RIGHT:
x+=MOVE;break;
}repaint();}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
public void mouseClicked(MouseEvent event) {
if( event.getSource() ==creatButton){}
else if( event.getSource() ==setButton){ }}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) { }}}
总之按钮一点,键盘事件就没有运行到我给我给它的动作 展开
1个回答
展开全部
不是不能用是你程序的问题,以后不要这样讲话,好像你发现java缺陷似的。你得调用里面的相应变量才可以如:static int VK_ENTER 代表回车
在说了如果你想让按钮按下去后有所动作应该使用java.awt.event.KeyAdapter
里面有如下方法:
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。
在说了如果你想让按钮按下去后有所动作应该使用java.awt.event.KeyAdapter
里面有如下方法:
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询