我一直在尝试让图像在Jpanel中上下移动很长一段时间,但是它似乎从未起作用。
如果我在视图中放入“ y = y-1”,它会使图像向上移动,所以我猜问题出在键侦听器上,对吗?
有人可以帮我吗?老实说...我认为这将是一个非常愚蠢的错误,但我找不到如何使它工作的方法。
额外信息:我正在使用BlueJ进行开发,在我的问题的基本程序中有4个类。我意识到互联网上的很多人都说使用键绑定而不是KeyListener,但是我现在还不了解键绑定...
---按照Hovercraft Full Of Eels的建议,我将尝试使用键盘绑定。---
因此,Keybindings有2个“命令”可以起作用:输入和操作。
复制此代码并为我的程序更改它:
protected void addBindings() {
int condition = JComponent.WHEN_IN_FOCUSED_WINDOW;
InputMap inputMap = getInputMap(condition); // What does this do?
KeyStroke key = KeyStroke.getKeyStroke(KeyEvent.VK_UP, Event.KEY_PRESS);
inputMap.put(key, move(0, 2));
移动功能:
protected void beweeg (int dx, int dy)
{
view.x = view.x + dx;
view.y = view.y + dy;
}
我不得不说...这个论坛上的代码系统令人沮丧。尝试此操作时,我得到:“找不到符号-方法getInputMap(int)”我是否需要在某个地方声明它?我对此一无所获。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句