如何制作一个JButton,当按下它时,它会执行一个新的操作



我想创建一个石头/纸/剪刀游戏,并添加一个功能来实现一个按钮,该按钮让用户可以选择在不重新运行程序的情况下重播游戏,但当我按下"Do it again"按钮时,计算机的随机选择总是一样的,如何做到这一点,它从数组中选择一个新的随机字符串。

JButton button1 = new JButton("The choice");
JButton button2 = new JButton("Do it again");
JTextField tekst1 = new JTextField(20);
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(tekst1);
c.add(button1);
c.add(button2);
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if (!hasBeenClicked) {
button1.addActionListener(new ActionListener() {
String[] arr={"rock", "paper", "scissors"};
Random r=new Random();
int randomNumber=r.nextInt(arr.length);
public void actionPerformed(ActionEvent evt) {
tekst1.setText(arr[randomNumber]);
}
});
} else {
tekst1.setText("");
}
hasBeenClicked = ! hasBeenClicked;
}
});

发生这种情况是因为在点击事件之外生成一个随机数。将其移动到下面几行的方法:

button1.addActionListener(new ActionListener() {
String[] arr={"rock", "paper", "scissors"};
Random r=new Random();
public void actionPerformed(ActionEvent evt) {
int randomNumber=r.nextInt(arr.length);
tekst1.setText(arr[randomNumber]);
}
});

int randomNumber=r.nextInt(arr.length);移动到动作执行

相关内容

  • 没有找到相关文章