Hello World,
ich erzeuge ein JButton Array (Truhe extends JButton). Dann erzeuge ich mit spawnTruhe immer eine neue. Dann wird in der Schleife alle Truhen um eins im Array zurück gesetzt. Das funktioniert auch soweit. Mein Problem ist aber, das es immer nur eine Truhe anzeigt und auch nur eine existiert. Also man kann die alte nicht mehr anklicken. Weis einer woran das liegt?
Funktioniert etwa "truhen=truhen[i+1];" nicht?
Danke für schnelle Hilfe.
ich erzeuge ein JButton Array (Truhe extends JButton). Dann erzeuge ich mit spawnTruhe immer eine neue. Dann wird in der Schleife alle Truhen um eins im Array zurück gesetzt. Das funktioniert auch soweit. Mein Problem ist aber, das es immer nur eine Truhe anzeigt und auch nur eine existiert. Also man kann die alte nicht mehr anklicken. Weis einer woran das liegt?
Funktioniert etwa "truhen=truhen[i+1];" nicht?
Danke für schnelle Hilfe.
Code:
public void spawnTruhe(int mnr){
for(int i=0;i<truhen.length-1;++i){
System.out.println(truhen[i].ki);
truhen[i]=truhen[i+1];
}
truhen[truhen.length-1].ki=monsters.get(mnr).getKi();
truhen[truhen.length-1].grade=monsters.get(mnr).grade;
switch (truhen[truhen.length-1].grade) {
case 1:truhen[truhen.length-1].setIcon(new ImageIcon("texture/other/truhe1.gif"));break;
case 2:truhen[truhen.length-1].setIcon(new ImageIcon("texture/other/truhe2.gif"));break;
case 3:truhen[truhen.length-1].setIcon(new ImageIcon("texture/other/truhe3.gif"));break;
default:break;
}
truhen[truhen.length-1].setBounds(monsters.get(mnr).x*64, monsters.get(mnr).y*64,64,64);
truhen[truhen.length-1].setVisible(true);
}
public void loadtruhen(){
for(int i=0;i<truhen.length;++i){
truhen[i]=new Truhe(0,0);
truhen[i].setLocation(0, 0);
truhen[i].setVisible(false);
final int nr=i;
truhen[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
ta.drop(truhen[nr].grade, truhen[nr].ki);
truhen[nr].setVisible(false);
}});
engine.panel_area.add(truhen[i]);
}
}