0
Ich habe Code zum würfeln gemacht, der Code ist noch nicht vollständig abgeschlossen. Ich wollte es überprüfen, aber keine der Schaltflächen/Comboboxen erscheint, wenn ich das Programm starte. Kann mir jemand sagen, was mit meinem Code los ist und wie ich ihn beheben kann?Programm wird nicht angezeigt
Dies ist mein Code für jetzt:
public class StartGame implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
JFrame game = new JFrame();
game.setSize(800, 400);
game.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
game.setMinimumSize(new Dimension(300, 100));
game.setLocation(300, 150);
game.setVisible(true);
}
private int[] zijden = {4, 6, 8, 10, 12, 20};
Random r = new Random();
private int chosenDiceNumber = 1;
private int chosenSidesNumber = 4;
static JLabel result = new JLabel();
public void Dices() {
getContentPane().setLayout(new FlowLayout());
JComboBox<String> sides = new JComboBox<String>();
for (int i = 0; i < zijden.length; i++) {
sides.addItem("" + zijden[i] + " Sides");
}
sides.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
JComboBox number = (JComboBox) event.getSource();
String selectedValue = number.getSelectedItem().toString();
chosenSidesNumber = Integer.valueOf((selectedValue.split("\\s+"))[0]);
}
});
getContentPane().add(sides);
JComboBox<String> number = new JComboBox<String>();
number.addItem("1 Dice");
number.addItem("2 Dices");
number.addItem("3 Dices");
number.addItem("4 Dices");
number.addItem("5 Dices");
number.addItem("6 Dices");
number.addItem("7 Dices");
number.addItem("8 Dices");
number.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent event) {
JComboBox number = (JComboBox) event.getSource();
String selectedValue = number.getSelectedItem().toString();
chosenDiceNumber = Integer.valueOf((selectedValue.split("\\s+"))[0]);
}
});
getContentPane().add(number);
JButton button1 = new JButton("Throw!");
add(button1);
JButton button2 = new JButton("Best Yahtzee move");
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
StringBuilder sb = new StringBuilder("Rolled: ");
for (int i=0; i<chosenDiceNumber; i++) {
sb.append(getNextValue()).append(", ");
}
sb.delete(sb.length()-2, sb.length());
result.setText(sb.toString());
private void add(JButton button2) {
// TODO Auto-generated method stub
}
});
private Object getNextValue() {
// TODO Auto-generated method stub
return null;
}
});
add(result);
}
private void add(JButton button1) {
// TODO Auto-generated method stub
}
private void add(JLabel result2) {
// TODO Auto-generated method stub
}
private AbstractButton getContentPane() {
// TODO Auto-generated method stub
return null;
}
private int getNextValue() {
return r.nextInt(chosenSidesNumber) + 1;
}
}
Warum ist Ihr JFrame in einer actionPerformed? – Stultuske
Ich habe einen Startbildschirm mit einer Schaltfläche (Start), um das Spiel –
zu öffnen Sie fügen nie Ihre Schaltflächen zu Ihrem JFrame hinzu. – Stultuske