如何重置JButton并提供其他值。当我点击它现在它给我一个从1到6的随机值。但是当我再次点击它并没有给我另一个随机值。这是为什么?我该如何解决这个问题?
package Opdrachten;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.*;
public class spel extends JPanel {
private JButton knop;
private boolean geklikt;
Random rand = new Random();
int waarde = rand.nextInt(6) + 1; //De plus een is zodat je geen 0 krijgt
int optel = 0;
public spel() {
setBackground(Color.WHITE);
knop = new JButton ("Gooi!");
knop.addActionListener(new KnopHandler());
add(knop);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if(geklikt) {
g.drawString("Je hebt " + waarde + " gegooid. Dit is totaal:" + optel, 100, 70);
optel = optel + waarde;
if (waarde == 1) {
g.drawString("Je mag 1 vakje naar voren", 100, 90);
}
if (waarde == 2) {
g.drawString("Je mag 2 vakjes naar voren", 100, 90);
}
if (waarde == 3) {
g.drawString("Je mag 3 vakjes naar voren", 100, 90);
}
if (waarde == 4) {
g.drawString("Je mag 4 vakjes naar voren", 100, 90);
}
if (waarde == 5) {
g.drawString("Je mag 5 vakjes naar voren", 100, 90);
}
if (waarde == 6) {
g.drawString("Je mag 6 vakjes naar voren", 100, 90);
}
}
}
class KnopHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
geklikt = true;
repaint();
}
}
}
答案 0 :(得分:2)
您可以在最开始设置随机数
int waarde = rand.nextInt(6) + 1; //De plus een is zodat je geen 0 krijgt
但你永远不会改变它。
class KnopHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
geklikt = true;
waarde = rand.nextInt(6) + 1; //get another random number
repaint();
}
}
答案 1 :(得分:0)
class KnopHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
geklikt = true;
waarde = rand.nextInt(6) + 1; //get another random number
//button.setText(); //name of button
repaint();
}
}