G
Gast
Gast
Hallo!
Ich stehe kurz vor der Vollendung meines Memory-Spiels. Das einzige, was mir noch fehlt, ist, dass ein Dialog erscheinen soll, nachdem alle Karten gefunden wurden. Ich habe das probiert, aber der Dialog wird nicht angezeigt. Ich zeige euch jetzt meine Klassen und versuche dabei unwichtigen Code wegzulassen:
Bei der folgenden Klasse, dem Dialog, der nicht angezeigt wird, habe ich nur den Konstruktor verändert und einen Button sowie ein Label hinzugefügt, der Rest kommt von einer Vorlage.
Was könnte falsch sein?
Ich stehe kurz vor der Vollendung meines Memory-Spiels. Das einzige, was mir noch fehlt, ist, dass ein Dialog erscheinen soll, nachdem alle Karten gefunden wurden. Ich habe das probiert, aber der Dialog wird nicht angezeigt. Ich zeige euch jetzt meine Klassen und versuche dabei unwichtigen Code wegzulassen:
Code:
public class Memory extends JFrame {
public Memory(String title) {
...
Spielfeld spielfeld = new Spielfeld(cp, feldGroesseX, feldGroesseY);
...
}
}
Code:
public class Spielfeld {
public Spielfeld(Container cp, int feldGroesseX, int feldGroesseY) {
Karte karte = new Karte(...);
}
...
}
Code:
public class Karte extends JToggleButton {
public Karte(...) {
aufdecken()
...
}
public void aufdecken() {
...
siegesKontrolle();
}
public void siegesKontrolle() {
if(anzahlFertig == N) {
Siegesnachricht siegesnachricht = new Siegesnachricht(Memory.getFrame, "Sieg", anzahlVersuche);
}
}
Bei der folgenden Klasse, dem Dialog, der nicht angezeigt wird, habe ich nur den Konstruktor verändert und einen Button sowie ein Label hinzugefügt, der Rest kommt von einer Vorlage.
Code:
public class Siegesnachricht extends JDialog {
// Anfang Variablen
private JLabel gewonnenLabel = new JLabel();
private JButton okButton = new JButton();
// Ende Variablen
public Siegesnachricht(Memory owner, String title, int anzahlVersuche) {
// Dialog-Initialisierung
super(owner, title);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) { System.exit(0); }
});
int frameWidth = 390;
int frameHeight = 120;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2 ;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
// Anfang Komponenten
gewonnenLabel.setBounds(109, 16, 172, 16);
gewonnenLabel.setText("Sie haben " + anzahlVersuche + " Versuche benötigt");
gewonnenLabel.setFont(new Font("MS Sans Serif", Font.PLAIN, 13));
cp.add(gewonnenLabel);
okButton.setBounds(162, 48, 65, 25);
okButton.setText("OK");
cp.add(okButton);
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
okButtonActionPerformed(evt);
}
});
// Ende Komponenten
setVisible(true);
setResizable(false);
}
// Anfang Ereignisprozeduren
public void okButtonActionPerformed(ActionEvent evt) {
}
// Ende Ereignisprozeduren
}