ciao
ho il seguente problema :
ho definito un menu ed un submenu , ho associato alle voci di submenu
lo stesso ascoltatore , il quale deve istanziare una classe in funzione
della voce di submenu scelta ;
non so come far riconoscere all'ascoltare quale sia la voce di menu scelta
ho provato con getAccessibleDescription e setAccessibleDescription
ma non riesco a farli funzionare , ottengo errori di compilazione ;
sapete dirmi come si fa normalmente ?
graziecodice:import javax.swing.*; import java.lang.*; import java.util.*; import java.awt.*; import java.awt.event.*; public class JMenu1 extends JFrame { class MenuItemListener implements ActionListener { public void actionPerformed(ActionEvent event) { JMenuItem source = (JMenuItem)event.getSource(); String message = null; System.out.println("source: " + source ); } } JMenuBar menuBar; JMenu menu, submenucli; JMenuItem menuItem; MenuItemListener itemListener = new MenuItemListener(); //Constructor for objects of class JMenu1 public JMenu1() { //Create the menu bar. menuBar = new JMenuBar(); //a submenucli menu.addSeparator(); submenucli = new JMenu("gestione clienti"); submenucli.setMnemonic(KeyEvent.VK_S); menuItem = new JMenuItem("inserimento"); menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK)); submenucli.add(menuItem); menuItem.addActionListener(itemListener); menuItem = new JMenuItem("cancellazione"); menuItem.addActionListener(itemListener); submenucli.add(menuItem); menuItem = new JMenuItem("modifica"); menuItem.addActionListener(itemListener); submenucli.add(menuItem); menuItem = new JMenuItem("lista"); menuItem.addActionListener(itemListener); submenucli.add(menuItem); menu.add(submenucli); menuBar.add(menu); JPanel panel = new JPanel(); panel.add(menuBar); getContentPane().add(panel); setTitle("prova menu "); setSize(400, 300); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { JMenu1 ex = new JMenu1(); } }); }
ciao

Rispondi quotando


