【发布时间】:2015-09-05 20:33:06
【问题描述】:
我正在尝试创建一个JFrame,它将为我的游戏注册MouseEvents。但是,当运行以下代码时,控制台仅在您拖动框架边框然后移动光标时打印“in”和“out”。很混乱。我尝试添加组件glassPane,然后在其中添加MouseListener,但仍然不成功。
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class Window extends JFrame implements MouseListener {
private static final long serialVersionUID = -240840600533728354L;
public Window(int width, int height, String title, Game game) {
JFrame frame = new JFrame(title);
frame.setPreferredSize(new Dimension(width, height));
frame.setSize(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.setLocationRelativeTo(null);
frame.add(game);
frame.setVisible(true);
frame.addMouseListener(this);
game.start();
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("out");
}
@Override
public void mouseClicked(MouseEvent e) {}
@Override
public void mousePressed(MouseEvent e) {}
@Override
public void mouseReleased(MouseEvent e) {}
@Override
public void mouseEntered(MouseEvent e) {}
}
【问题讨论】:
-
如果这段代码打印“in”,我会非常惊讶!
标签: java swing jframe mouselistener