Java 当按下任何键时,鼠标不可移动
我正在尝试制作一个简单的游戏,在这个游戏中,鼠标和按键同时用于控制角色。我遇到的问题是,只要我按下任何键,我就无法移动鼠标。即使我松开键,在我能够再次移动鼠标之前也会有一个小的延迟。我认为这可能是因为我使用了键/鼠标侦听器,但我制作了最简单的工作程序,显示了此错误:Java 当按下任何键时,鼠标不可移动,java,swing,keylistener,mouselistener,Java,Swing,Keylistener,Mouselistener,我正在尝试制作一个简单的游戏,在这个游戏中,鼠标和按键同时用于控制角色。我遇到的问题是,只要我按下任何键,我就无法移动鼠标。即使我松开键,在我能够再次移动鼠标之前也会有一个小的延迟。我认为这可能是因为我使用了键/鼠标侦听器,但我制作了最简单的工作程序,显示了此错误: package listenerproblem; import java.awt.Color; import javax.swing.JFrame; import javax.swing.JPanel; public class
package listenerproblem;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ListenerProblem extends JFrame{
public ListenerProblem(){
super("Problems");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(100, 200);
JPanel jPanel = new JPanel();
jPanel.setSize(100,200);
jPanel.setBackground(Color.WHITE);
jPanel.setFocusable(true);
add(jPanel);
setVisible(true);
}
public static void main(String[] args) {
ListenerProblem listenerProblem = new ListenerProblem();
}
}
我只想知道是什么导致了这个错误,以及Swing中是否有任何解决方法,以便可以同时使用鼠标和键
如果它在任何方面都很重要,我使用的是东芝C50-a-1E2和Windows 8.1
该程序是在NetBeans中制作和运行的。非常感谢您的帮助。问题在于我在带有触摸板的笔记本电脑上运行了此代码。我电脑上的设置是这样的,它阻止我在打字时移动鼠标,与代码无关。如果要在Windows上解决此问题,请执行以下操作:
您是否在事件分派线程中运行与UI相关的代码?我相信是这样。我将为键/鼠标侦听器创建一个类,然后执行jPanel.addKeyListener(new myKeyListener());。然而,在这个没有任何监听器的简单程序中,仍然会出现鼠标被卡住的问题。如果你运行这个,你有鼠标冻结在你身上吗?不,它不会冻结为我当粘贴和运行你的代码。您使用哪种JDK构建和运行哪种JRE?产品版本:NetBeans IDE 8.1(构建201510222201)Java:1.8.091;Java HotSpot(TM)64位服务器VM 25.91-b14运行时:Java(TM)SE运行时环境1.8.0_91-b14。你知道为什么会发生这种情况吗?嗨@Kon,我刚刚找到了问题所在,并发布了解决方案。我真诚地希望您能够复制我的问题,并且我的代码存在问题。因为你没能,我意识到我的系统和触摸板一定有问题。如果你不告诉我你不能让鼠标冻结,我会继续认为我的Java代码有问题。非常感谢您抽出时间帮助我,并使问题得以解决;非常感谢。