hay hay,
- ich möchte in einer for schleife JMenues und JMenuItems erstellen
- die JMenues und JMenuItems liegen in einem Mehrdimensionalen Array
nun zum problem:
ich möchte in der schleife ein ActionListener hinzufügen, aber leider bekomm ich dabei immer folgenden fehler (von eclipse):
Cannot referto a non-final variable i2 inside an inner class defined in a different method
hier die Arrays:
und hier die schleife:
also was der fehler bedeutet, weiss ich aber wie könnt ich es sonst machen?
- ich möchte in einer for schleife JMenues und JMenuItems erstellen
- die JMenues und JMenuItems liegen in einem Mehrdimensionalen Array
nun zum problem:
ich möchte in der schleife ein ActionListener hinzufügen, aber leider bekomm ich dabei immer folgenden fehler (von eclipse):
Cannot referto a non-final variable i2 inside an inner class defined in a different method
hier die Arrays:
Code:
final String[] sActionspiele = {"Goldfish Bowl", "Magic Spinball", "Carnival Shootout",
"Itsy Bitsy Spider", "BB Bathtub", "Duck Pond Dash",
"Polar Bear Bounce", "Candy Rail", "Animal Athletes"};
final String[] sPuzzlespiele = {"Deal or No Deal", "Katana Kaunto", "Bomp Bomp", "Match Blocks",
"Jungle Bubble", "Klick, Klack & Roll", "Silver Screen",
"Klicker Klacker 2", "Startris", "Jungle Rumble", "Fashion Factory",
"Midas Miner", "Chain Reaction", "Flower Power"};
final String[] sDenkspiele = {"Mahjong Masquerade", "Hex Combo", "Mahjong Treasure", "Mahjong Fortuna",
"Sudoku Sweep", "Midas Mahjong", "Chesster"};
final String[] sKartenspiele = {"Midas Solitaire", "Ace Solitaire", "Honey Combo", "Pyramid", "Skat",
"GoGo 21", "Pyramid Battle", "Royale 55"};
final String[] sWortspiele = {"Word Link", "Word Battle", "Keyword", "Quiz Queen"};
final String[] sSportspiele = {"8-Ball Pool", "9-Ball Pool", "Midas Links", "KicKing", "Pool King",
"Couronne King", "Webracer GP"};
JMenuItem iActionspiele[] = new JMenuItem[sActionspiele.length];
JMenuItem iPuzzlespiele[] = new JMenuItem[sPuzzlespiele.length];
JMenuItem iDenkspiele[] = new JMenuItem[sDenkspiele.length];
JMenuItem iKartenspiele[] = new JMenuItem[sKartenspiele.length];
JMenuItem iWortspiele[] = new JMenuItem[sWortspiele.length];
JMenuItem iSportspiele[] = new JMenuItem[sSportspiele.length];
JMenuItem iMenues[][] = new JMenuItem[6][sActionspiele.length+sPuzzlespiele.length+
sDenkspiele.length+sKartenspiele.length+
sWortspiele.length+sSportspiele.length];
und hier die schleife:
Code:
boolean bgt = true,
bc = true,
bt = true;
for (int i=iMenues.length; i>=0;i--) {
//Geldturniere
for (int i2=sActionspiele.length-1;i2>=0 && bgt == true; i2--) {
System.out.println("i2: " + i2);
iMenues[0][i] = new JMenuItem(sActionspiele[i2]);
menueActionspiele.add(iMenues[0][i]);
menueGeldturniere.add(iMenues[0][i]);
iMenues[0][i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
NewGeldspiel iFrame = new NewGeldspiel(sActionspiele[i2], desktop);
iFrame.setVisible(true);
}
});
if (i2 == 0) {
bgt = false;
}
}
}
also was der fehler bedeutet, weiss ich aber wie könnt ich es sonst machen?