Ciao ragazzi, ho un problema....Nella mia applicazione dō la possibilitā all'utente di abilitare la minimizzazione sulla system tray tramite JCheckBoxMenuItem. Qaundo si vā a selezionare il checkbox tutto funziona, l'applicazione viene minimizzata, ma in seguito quando si deseleziona l'applicazione continua a minimizzarsi e mi dā degli errori....Vi allego i due pezzi di codice...non sō dove sbaglio
codice:JMenu menu= new JMenu("Visualizza"); checkbox = new JCheckBoxMenuItem("Visualizza nella system tray"); menu.add(checkbox); ItemListener aListener = new ItemListener() { public void itemStateChanged(ItemEvent event) { int state = event.getStateChange(); if(state == ItemEvent.SELECTED) minimize(); } }; checkbox.addItemListener(aListener); menuBar.add(menu);codice:private void minimize() { if (SystemTray.isSupported()) { PopupMenu menu = new PopupMenu(); MenuItem exit = new MenuItem("Exit"); exit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); menu.add(exit); final Image image = Toolkit.getDefaultToolkit().getImage("wizard.png"); frame.setIconImage(image); icon = new TrayIcon(image,"",menu); icon.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { frame.setVisible(true); frame.setExtendedState(JFrame.NORMAL); getSystemTray().remove(icon); } }); frame.addWindowListener (new WindowAdapter() { public void windowIconified(WindowEvent e) { frame.setVisible(false); try { getSystemTray().add(icon); } catch (AWTException e1) { System.exit(-1); } } }); } }

Rispondi quotando