Hallo,
ich will eine art Mapeditor für ein 2d (Pokemonlike) spiel Programmieren.
Hierzu erstelle ich ein JButton 2D array, dass ich dann jeweils mit dem Image der Kachel ausfüllen will.
Ich erstelle also das JButton array mach die üblichen einstellungen sodass die buttons angezeit werden.
Mit der for schleife in ActionPerformed sollte eigentlich doch jeder Button Durchgelaufen werden und dann der richtige bearbeitet werden
aber es scheitert bereits bei der "if test" anweisung habe ich .equals() falsch verwendet?
if(o.equals(feld[0][0])) <-- Funktioniert nicht
ich will eine art Mapeditor für ein 2d (Pokemonlike) spiel Programmieren.
Hierzu erstelle ich ein JButton 2D array, dass ich dann jeweils mit dem Image der Kachel ausfüllen will.
Ich erstelle also das JButton array mach die üblichen einstellungen sodass die buttons angezeit werden.
Mit der for schleife in ActionPerformed sollte eigentlich doch jeder Button Durchgelaufen werden und dann der richtige bearbeitet werden
aber es scheitert bereits bei der "if test" anweisung habe ich .equals() falsch verwendet?
if(o.equals(feld[0][0])) <-- Funktioniert nicht
Code:
JButton[][] feld;
...
for(int k=0; k<Frame.buttonPanel.length; k++){
Frame.buttonPanel[k].setLayout(null);
for(int i=0; i<sizex; i++){
for(int j=0; j<sizey; j++){
feld[i][j]=new JButton();
feld[i][j].setBounds(i*w,j*h,w,h);
feld[i][j].addActionListener(this);
feld[i][j].setBackground(new Color(0,0,0));
Frame.buttonPanel[k].add(feld[i][j]);
}
}
Frame.buttonPanel[k].setPreferredSize(new Dimension((sizex*w),(sizey*h)));
Frame.buttonPanel[k].setMinimumSize(new Dimension((sizex*w),(sizey*h)));
}
...
//ActionListener
public void actionPerformed(ActionEvent e) {
Object o = e.getSource();
System.out.println("ActionListener test");
if(o.equals(feld[0][0]))
System.out.println("feld 0 0");
for(int i=0; i<sizex; i++){
for(int j=0; j<sizey; j++){
if(o.equals(feld[i][j])){
System.out.println("Button "+i+" "+j);
}
}
}
}