Java JPanel移动(键侦听器)不起作用

Java问题

我一直在尝试让图像在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)”我是否需要在某个地方声明它?我对此一无所获。

充满鳗鱼的气垫船

你问:

尝试此操作时,我得到:“找不到符号-方法getInputMap(int)”我是否需要在某个地方声明它?

必须在从JComponent或其子项之一派生的对象(例如JPanel)上调用此方法。此错误消息表示您正在不扩展JComponent或其子级之一(例如JPanel)的类内进行此调用。一种可能的解决方案是在JPanel对象上对要附加绑定的对象调用方法。


说到链接,这是我的一些:linklinklinklinklinklink,...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章