【发布时间】:2017-02-17 08:26:24
【问题描述】:
我目前正在开发一款小型棋盘游戏。我必须在 Button 数组上放置“对象”。我想放置的对象是 1*1 1*2 等,它们由禁用的按钮表示。有什么方法可以使用键盘的 Keylisteners 移动生成的禁用按钮,因为我无法让它工作
public GuiP1() {
super();
Panel.setLayout(null);
this.add(Panel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("BattleshipsP1");
this.setSize(640, 1000);
this.setVisible(false);
this.addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent arg0) {
}
public void keyReleased(KeyEvent arg0) {
if (arg0.getKeyCode() == KeyEvent.VK_RIGHT) {
System.out.println("VK_RIGHT");
} else if (arg0.getKeyCode() == KeyEvent.VK_LEFT) {
System.out.println("VK_LEFT");
} else if (arg0.getKeyCode() == KeyEvent.VK_UP) {
System.out.println("VK_UP");
} else if (arg0.getKeyCode() == KeyEvent.VK_DOWN) {
System.out.println("VK_DOWN");
}
}
public void keyTyped(KeyEvent arg0) {
}
});
Grid();
this.setVisible(true);
}
它不会监听按键被按下
谢谢 JFluX
【问题讨论】:
-
是的,你可以,但魔鬼在细节中,你的 GUI 和代码的细节,你需要与我们分享。您将使用 MouseAdapter 并将其添加为 MouseListener 和 MouseMotionListener。
-
请显示任何代码作为对原始问题的编辑,因为如您所见,代码在 cmets 中的格式不正确。此外 cmets 通常不会被阅读,因此您问题的关键组成部分应该在您的实际原始问题中。最好能发布一个可运行的minimal reproducible example——不是你的整个程序,也不是代码链接,而是一个向我们展示你的问题的小新程序——检查链接。
-
另外,请看一下这个link to similar questions。你可能会从他们那里得到一些不错的想法。
-
等等,我现在很困惑——我们是用鼠标说话还是用按键监听器说话?
-
我无法让鼠标监听器工作,所以我开始尝试一个按键监听器,它也没有工作,所以我不知道我能做什么或能做什么......
标签: java swing jframe jbutton keylistener