Ich bin gerade dabei einen Spielautomaten zu programmieren, bin noch ganz am Anfang und hab jetzt ein Problem. der Spielautomal soll funkrionieren wie ein "Einarmiger Bandit", dabei sind oben 3 buttons, die entweder mit X, O oder - beschriftet sind. Mit einem Random funktion hab ich es jetzt auch geschafft, die Buttons zufällig zu beschriften, aber ich möchte gerne einen button, der den random befehl aktualisiert, sodass die buttons immer neu beschriftet werden. Was muss ich also in den ActionListener reinschreiben, dass er die GUI aktualisiert?
Ach und ich weiß das der code ziehmlich hässlich ist und nicht viel mit OOP zu tun hat, kann mir jemand sagen, wie es besser geht?
Java:
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JLabel;
import java.util.Random;
import java.awt.event.*;
public class Spielautomat
{
static JFrame jf = new JFrame();
static JButton jb = new JButton("Start");
static JLabel jl = new JLabel();
static JButton jbw1 = new JButton();
static JButton jbw2 = new JButton();
static JButton jbw3 = new JButton();
static int x;
static int y;
static int z;
static String f1;
static String f2;
static String f3;
static Random r = new Random();
//static Random ry = new Random();
//static Random rz = new Random();
public static void main(String[] args)
{
x = r.nextInt(3);
y = r.nextInt(3);
z = r.nextInt(3);
if(x==0) f1 = "-";
if(x==1) f1 = "X";
if(x==2) f1 = "O";
if(y==0) f2 = "-";
if(y==1) f2 = "X";
if(y==2) f2 = "O";
if(z==0) f3 = "-";
if(z==1) f3 = "X";
if(z==2) f3 = "O";
ActionListener al = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
}
};
jf.setBounds(500, 100, 500, 800);
jf.setVisible(true);
jf.add(jb);
jf.add(jl);
jf.setLayout(null);
jf.add(jbw1);
jf.add(jbw2);
jf.add(jbw3);
jb.setBounds(3, 678, 478, 80);
jb.addActionListener(al);
jbw1.setBounds(50, 50, 100, 100);
jbw1.setText(f1);
jbw2.setBounds(195, 50, 100, 100);
jbw2.setText(f2);
jbw3.setBounds(340, 50, 100, 100);
jbw3.setText(f3);
}
}
Ach und ich weiß das der code ziehmlich hässlich ist und nicht viel mit OOP zu tun hat, kann mir jemand sagen, wie es besser geht?