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);
	   				}
	   			}
	   			
	   		});
	   		
	   	}
	   	
	   	}