0

我对Java编程相当陌生,想制作一个基本游戏,单击一次时显示图像,单击两次时显示不同的图像等等。我知道如何做到这一切,但我不知道如何跟踪如何任何点击,然后根据已完成的点击次数执行操作(很难解释,我很抱歉......)

4

2 回答 2

1

我......想制作一个基本游戏,单击一次时显示图像,单击两次时显示不同的图像等等。我知道如何做到这一切,但我不知道如何跟踪任何点击

根据我的评论,给具有 ActionListener 的类一个 int 字段,比如称为 buttonCount,并在每次按下按钮时递增它——在按钮 ActionListener 的 actionPerformed 方法内:buttonCount++

然后根据点击次数执行操作(很难解释,我很抱歉......)

在 ActionListener 的 actionPerformed 方法中更改显示的图像。你如何改变它取决于你如何展示它,你还没有向我们展示的东西,所以我不能给你任何代码。

一种简单的方法是创建一个 ImageIcons 的 ArrayList 来保存您的图像(当然是 ImageIcons),然后调用get(buttonCount)ArrayList 以获取适当的 ImageIcon 并通过其setIcon(...)方法将其显示在 JLabel 中。确保 buttonCount 小于 ArrayList 的大小,以免出现 ArrayIndexOutOfBoundsException。一种方法是通过 ArrayList 的大小修改 buttonCount。这将允许您循环浏览您的图像集合。

同样,您将需要阅读有关如何使用 JButtons的 Swing 教程,然后将您的大问题分解为小步骤,尝试一次解决每个步骤。

同样,如果您需要更详细和更具体的帮助,那么您必须展示您尝试过的内容并详细解释您可能遇到的问题。我真诚的信念和哲学是,通过强迫大脑去做新的和不熟悉的事情,通过脑力劳动和汗水,你能学到最多的东西。所以就这样吧,你没有什么可失去的。

于 2013-10-09T21:12:17.230 回答
-1

您可以通过这种方式计算鼠标点击次数。通过使用 if-else 或 switch case,您可以显示图像。

public class ButtonStart extends Frame {
private int mouseclicked = 0;
TextField objTextField;

public static void main(String args[]) {
    ButtonStart BS = new ButtonStart();
}

public ButtonStart() {
    Frame objFrame;
    Button objButton;
    TextField objTextField;
    objFrame = new Frame("Clicking Buttons");
    objButton = new Button("Click me!");
    objTextField = new TextField("0");

    objFrame.addMouseListener(new MyMouseListener());
    objFrame.add(objButton);
    objFrame.add(objTextField);
    objFrame.addWindowListener(new WindowAdapter()

    {
        public void windowClosing(WindowEvent we) {
            System.exit(0);
        }
    });

}

public class MyMouseListener extends MouseAdapter {
    public void mouseClicked(MouseEvent me) {
        int mouseclicked = me.getClickCount();

        objTextField.setText("Mouse clicked this many times:"
                + mouseclicked);
    }

}

}

于 2013-10-09T18:43:37.060 回答