Hallo,
ich habe ein Problem mit folgendem Code:
Die for-Schleife soll aus einem Vector von Objekten die von mir gewähle String-Repräsentation dieser Objekte als Menüeinträge hinzufügen und diesen auch gleich eine Action verpassen, und zwar soll das komplette Objekt einem neuen Objekt übergeben werden.
Die Menüeinträge werden auch wie gewünscht hinzugefügt, es bleibt dann aber bei "Action" hängen.
Der Sinn hinter dem Ganzen ist, dass ich die Daten mehrerer Profile aus einer Datei lese, diese einem Vector von Profilobjekten zugewiesen werden und aus dem Menü eines der bestehenden Profile ausgewählt werden können soll.
Das eigentliche Problem ist, dass actionPerformed von mir final-variablen verlangt.
Da aber profil ein Vector ist, der anhand der Variable i durchlaufen wird, verändern sich logischerweise sowohl profil.read().elementAt(i) als auch i selber.
Gibt es eine Möglichkeit das zu umgehen bzw. eine sinnvolle Alternative?
Leider ist dies das erste Mal, dass ich versuche eine GUI zu basteln, bisher war immer alles Konsole...
ich habe ein Problem mit folgendem Code:
Code:
for(int i = 0; i < profil.read().size(); i++){
JMenuItem check = new JMenuItem(profil.read().elementAt(i).print());
Action checkAction = new AbstractAction(profil.read().elementAt(i).print()){
public void actionPerformed(ActionEvent e){
Profil current_profil = profil.read().elementAt(i);
}
};
choose_profile.add(check);
}
Die for-Schleife soll aus einem Vector von Objekten die von mir gewähle String-Repräsentation dieser Objekte als Menüeinträge hinzufügen und diesen auch gleich eine Action verpassen, und zwar soll das komplette Objekt einem neuen Objekt übergeben werden.
Die Menüeinträge werden auch wie gewünscht hinzugefügt, es bleibt dann aber bei "Action" hängen.
Der Sinn hinter dem Ganzen ist, dass ich die Daten mehrerer Profile aus einer Datei lese, diese einem Vector von Profilobjekten zugewiesen werden und aus dem Menü eines der bestehenden Profile ausgewählt werden können soll.
Das eigentliche Problem ist, dass actionPerformed von mir final-variablen verlangt.
Da aber profil ein Vector ist, der anhand der Variable i durchlaufen wird, verändern sich logischerweise sowohl profil.read().elementAt(i) als auch i selber.
Gibt es eine Möglichkeit das zu umgehen bzw. eine sinnvolle Alternative?
Leider ist dies das erste Mal, dass ich versuche eine GUI zu basteln, bisher war immer alles Konsole...