【发布时间】:2019-07-09 01:04:25
【问题描述】:
我正在用 java 制作一个类似国际象棋的游戏,但我遇到了点击事件的问题。 mouseClicked 函数没有响应我在窗口上的点击,并且没有明显的原因。
我已经尝试了一些方法,例如更改类名和使用不同的函数,但没有任何效果。
package main.game.com;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ClickEvent extends MouseAdapter {
public void mouseClicked(MouseEvent e) {
System.out.println("hello");
}
}
package main.game.com;
import java.awt.Canvas;
public class Main extends Canvas {
private static final long serialVersionUID = 1673528055664762143L;
private static final int WIDTH = 416, HEIGHT = 439;
public Main() {
Window window = new Window(WIDTH, HEIGHT, "DARRAGH", this);
this.addMouseListener(new ClickEvent());
}
package main.game.com;
import java.awt.Canvas;
import java.awt.Dimension;
import javax.swing.JFrame;
public class Window extends Canvas {
private static final long serialVersionUID = 6733885629776844621L;
public Window(int width, int height, String title, Main main) {
JFrame frame = new JFrame(title);
frame.setPreferredSize(new Dimension(width, height));
frame.setMaximumSize(new Dimension(width, height));
frame.setMinimumSize(new Dimension(width, height));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.add(main);
frame.setVisible(true);
main.start();
}
}
第一组代码是我的mouseAdapter 库,第二组代码是我的主类的第一部分,其中包含clickListener。
【问题讨论】:
-
这个问题真的需要minimal reproducible example 才能让我们更好地理解您的代码和您的问题。您还需要更好地解释您想要实现的目标。
标签: java swing awt mouselistener