Hallo,
ich programmiere gerade Minesweeper bzw versuche es ;P und habe ein 2 Dimensionales Array mit mit Zufallszahlen von 0-1 gefüllt wobei eine 1 eine Miene darstellen soll.
Der Index des Arrays ist [5][5] also habe ich 25 jToggleButton angelegt. Um nun den Arrayinhalt den einzelnen Buttons zu zuordnen habe ich eine Methode geschrieben, die anhand der Position beim Buttonklick den Text des Buttons auf den Inhalt des Arrays setzt.
Methode die das Array füllt.
Hier die Methode die den Buttons den Inhalt des Arrays zuordnen soll.
Alle Buttons sind an ein Actionevent gebunden das beim Klick eines Buttons aufgerufen wird.
Nun zum Problem : Jeder Button zeigt die selbe Zahl an nachdem geklickt wurde, die größe der Buttons ist überall gleich, die Positionsangaben stimmen demnach. Ich denke das mit der defineButtons Methode kurz bevor die Position angegeben wird etwas nicht stimmt. Aber was?
Bitte Hilfe
ich programmiere gerade Minesweeper bzw versuche es ;P und habe ein 2 Dimensionales Array mit mit Zufallszahlen von 0-1 gefüllt wobei eine 1 eine Miene darstellen soll.
Der Index des Arrays ist [5][5] also habe ich 25 jToggleButton angelegt. Um nun den Arrayinhalt den einzelnen Buttons zu zuordnen habe ich eine Methode geschrieben, die anhand der Position beim Buttonklick den Text des Buttons auf den Inhalt des Arrays setzt.
Java:
int[][] mienen = new int [5][5];
public void erzeugeSpielfeld(){
for(int x=0; x<5; x++){
for(int y=0; y<5; y++){
mienen[x][y] =(int)(Math.random()*1);
}
}
}
Methode die das Array füllt.
Hier die Methode die den Buttons den Inhalt des Arrays zuordnen soll.
Java:
public void defineButtons(JToggleButton btn){
if (btn.getModel().isSelected()){
btn.setText(Integer.toString(mienen[btn.LEFT/43][btn.TOP/34]));
}
btn.setEnabled(false);
}
Alle Buttons sind an ein Actionevent gebunden das beim Klick eines Buttons aufgerufen wird.
Java:
private AbstractAction getBtnClicked() {
if(btnClicked == null) {
btnClicked = new AbstractAction("", null) {
public void actionPerformed(ActionEvent evt) {
defineButtons((JToggleButton) evt.getSource());
}
};
}
return btnClicked;
}
Nun zum Problem : Jeder Button zeigt die selbe Zahl an nachdem geklickt wurde, die größe der Buttons ist überall gleich, die Positionsangaben stimmen demnach. Ich denke das mit der defineButtons Methode kurz bevor die Position angegeben wird etwas nicht stimmt. Aber was?
Bitte Hilfe
Zuletzt bearbeitet von einem Moderator: