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 ?
codice:
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();
}
});
}
grazie
ciao