ciao
ho definito un menu ed un submenu , vorrei associare alle voci di submenu
un ascoltatore il quale faccia partire una istanza di una classe in funzione
della voce di submenu scelta ;
il codice è quello sotto , però ricevo una serie di errori , il primo dei quali à :
source: javax.swing.JMenuItem(,1,3,125X21,invalid, alignmentX=0.0,alignmentY=0.0
ecc, ecc. . . .
per favore sapete dirmi dove sbaglio ?
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(); //ex.setVisible(true); } });

Rispondi quotando
