[英]Perform action when button clicked once and do a different action when clicked twice, three times etc. (Netbeans, Java)
我是Java编程的新手,想制作一个基本的游戏,单击一次即可显示图像,单击两次可显示不同的图像,等等。我知道如何进行所有操作,但我不知道如何跟踪任何点击,然后根据已完成的点击次数执行操作(很难解释,很抱歉...)
我...想做一个基本的游戏,当单击一次时显示一个图像,单击两次时显示一个不同的图像,等等。我知道如何进行所有操作,但我不知道如何跟踪任何点击
根据我的评论,为带有ActionListener的类提供一个int字段,称为buttonCount,并在每次按下按钮时将其递增-在按钮ActionListener的actionPerformed方法内部: buttonCount++
然后根据已完成的点击次数进行操作(很难解释,很抱歉...)
在ActionListener的actionPerformed方法中,更改显示的图像。 如何更改所有内容取决于您如何显示它,还没有显示给我们看,因此我无法提供任何代码。
一种简单的方法是创建一个ImageIcons的ArrayList来保存图像(当然是ImageIcons),然后在ArrayList上调用get(buttonCount)
以获取适当的ImageIcon,并通过setIcon(...)
在JLabel中显示它setIcon(...)
方法。 确保buttonCount小于ArrayList的大小,以免出现ArrayIndexOutOfBoundsException。 一种方法是通过ArrayList的大小来修改buttonCount。 这将允许您循环浏览图像集合。
同样,您将需要阅读有关如何使用JButton的Swing教程,然后将大问题分解为小步骤,一次尝试解决每个步骤。
同样,如果您需要更多细节和更具体的帮助,则必须显示您尝试过的内容,并详细说明使用它可能遇到的问题。 我最真诚的信念和哲学是:通过脑力劳动和汗水强迫大脑去做新的和不熟悉的事情,从而使您学习最多。 因此,您将一无所获。
您可以通过这种方式计算鼠标的点击次数。 通过使用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);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.