Hi,
ich habe habe jetzt zwei JOptionPanes hintereinander gesetzt, die auch soweit funktionieren.
Mit den Dialogen lasse ich Namen eintragen. Wenn das zweite Fenster fertig ist, soll das wieder in die vorherige Methode gehen,
wo dann auch repaint() aufgerufen wird. Bis dahin geht das auch, aber die Methode paint() wird nie wirklich aufgerufen, weswegen
diese beiden Dialoge das Programm irgendwie blockieren. Wenn ich die Methode auskommentiere, klappt das aller gut.
Die Methode setPlayer() wird in der Methode content() aufgerufen, die wiederum vom Konstruktor aufgerufen wird.
Vielleicht wisst ihr ja etwas.
MfG Ascawath
ich habe habe jetzt zwei JOptionPanes hintereinander gesetzt, die auch soweit funktionieren.
Mit den Dialogen lasse ich Namen eintragen. Wenn das zweite Fenster fertig ist, soll das wieder in die vorherige Methode gehen,
wo dann auch repaint() aufgerufen wird. Bis dahin geht das auch, aber die Methode paint() wird nie wirklich aufgerufen, weswegen
diese beiden Dialoge das Programm irgendwie blockieren. Wenn ich die Methode auskommentiere, klappt das aller gut.
Code:
public void setPlayer() {
Object[] options1 = { "Erstellen" };
Object[] options2 = { "Weiteren Spieler hinzufügen", "Spielen" };
JPanel panel1 = new JPanel();
panel1.add(new JLabel("Bitte den Namen des Spielers eingeben"));
JTextField textField = new JTextField(15);
panel1.add(textField);
JPanel panel2 = new JPanel();
String input = "";
int result = JOptionPane.showOptionDialog(this,
panel1,
"Spieler - Charackter",
JOptionPane.YES_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
options1,
null);
if (result == JOptionPane.YES_OPTION){
if(input.equals(null)) {
input = textField.getText();
}
panel2.add(new JLabel("Der Spieler "+input+" wurde erstellt"));
result = JOptionPane.showOptionDialog(this,
panel2,
"Spieler - Charackter",
JOptionPane.YES_NO_OPTION,
JOptionPane.PLAIN_MESSAGE,
null,
options2,
null);
Player pl = new Player(textField.getText());
Players.insert(pl);
}
if (result == JOptionPane.YES_OPTION){
setPlayer();
}
}
Die Methode setPlayer() wird in der Methode content() aufgerufen, die wiederum vom Konstruktor aufgerufen wird.
Vielleicht wisst ihr ja etwas.
MfG Ascawath