gpt4 book ai didi

java - 为什么它不起作用?使用 getMouseClicked 没有结果

转载 作者:行者123 更新时间:2023-12-01 06:54:46 27 4
gpt4 key购买 nike

该程序假设创建一个窗口,其下方有一个状态栏,显示鼠标单击但未在屏幕上移动的次数。当您移动鼠标并单击它时,假设开始新的计数。它还区分不同的鼠标按钮。我完全按照我看到的教程遵循此代码,但它不起作用。我只是得到带有永远不会改变的状态栏的窗口。

public class Adapter_class extends JFrame {

private String details;
private JLabel statusBar;
public Adapter_class() {

super("Adapter mouse:");

this.statusBar = new JLabel("Default");
add(this.statusBar, BorderLayout.SOUTH);

addMouseListener(new MouseClass());
}

private class MouseClass extends MouseAdapter {
public void MouseClicked (MouseEvent event) {
details = String.format("You clicked the mouse %d", event.getClickCount());


//this is for using a mouse from a mac
if (event.isMetaDown())
details += " with the right mouse button";
else if (event.isAltDown())
details += " with the center mouse button";
else
details += " with the left mouse button";

statusBar.setText(details);
}
}
}

这是主要的:

import javax.swing.JFrame;

public class Adapter_main {

public static void main(String[] args) {

Adapter_class window = new Adapter_class();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(400, 300);
window.setVisible(true);
}
}

最佳答案

您已使用大写 M 编写了方法 MouseClicked。请使用小写版本

public void mouseClicked(MouseEvent event) { ... }

否则,您将创建一种新方法,而不是覆盖适配器的方法。您可能还需要包含一个 @Override 注释,它会强制编译器向您显示问题。

关于java - 为什么它不起作用?使用 getMouseClicked 没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14807464/

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