Dynamiczne dodawanie JMenuItem

Dynamiczne dodawanie JMenuItem
SP
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:3
0

Witam,
jak dynamicznie dodawać elementy do JMenu?
Mam liste obiektów, potrzebuje na jej podstawie zrobić JMenuItem o ile to wychodzi to mam problem aby zrobić do niego akcje.
Chciałbym aby JMenuItem odwoływał się do konkretnego obiektu z listy.

Kopiuj
	private static void buildMenu(){
		menu.removeAll();
		for(int i=0;i<list.size();i++){
			JMenuItem menuItem = new JMenuItem(list.get(i).getName());
			menuItem.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent arg0) {
					//Tutaj chce się odwołać do obiektu list.get(i) :/, lecz 'i' musi byc final 
				}
			});
			menu.add(menuItem);
		}
	}

W jaki sposób to zrobić ?

SM
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 6 lat
  • Postów:52
1
Kopiuj
 for(int i=0;i<list.size();i++){
            final int my_final_index= i;
            JMenuItem menuItem = new JMenuItem(list.get(i).getName());
            menuItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    list.get(my_final_index).doSomething();
                    //Tutaj chce się odwołać do obiektu list.get(i) :/, lecz 'i' musi byc final 
                }
            });
            menu.add(menuItem);
        }
SP
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 9 lat
  • Postów:3
0

dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.