gpt4 book ai didi

java - 在 Eclipse Java 中未检测到鼠标输入

转载 作者:行者123 更新时间:2023-11-29 05:19:09 26 4
gpt4 key购买 nike

我正在制作一个需要用户从鼠标输入的程序,所以我制作了一个扩展 MouseAdapter 的 Mouse 类。通过单击窗口对其进行测试时,它什么也没做。下面提供了代码。任何帮助表示赞赏。

主类

public class Main extends JFrame {

private static final long serialVersionUID = 1L;

public Main() {
add(new Window());

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(720, 480);
setLocationRelativeTo(null);
setTitle("Mouse Input");
setVisible(true);
setResizable(false);
}

public static void main(String args[]) {
new Main();
}

}

窗口类

public class Window extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;

public Window() {
addMouseMotionListener(new Mouse());

Timer timer = new Timer(10, this);
timer.start();

}

@Override
public void actionPerformed(ActionEvent arg0) {

}

}

鼠标类

class Mouse extends MouseAdapter{

public void mouseClicked(MouseEvent e) {
System.out.println("Clicked");
}

public void mouseDragged(MouseEvent e) {
System.out.println("Dragged");
}

}

最佳答案

它在单击时不执行任何操作,因为您已将它作为 MouseMotionListener 添加到 JPanel 而不是作为 MouseListener。您还需要通过 addMouseListener(...) 方法将您的 Mouse 实例传递到 JPanel 中,以便发生 MouseListener 事件。

即,

public Window() {
Mouse myMouse = new Mouse();
addMouseMotionListener(myMouse); // you already have this
addMouseListener(myMouse); // **** add this!! ****

关于java - 在 Eclipse Java 中未检测到鼠标输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25465401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com