Salve ragazzi

Ho un problema: la menubar del mio jframe scompare sotto il Panel , quando aperta.
Vi lascio il codice:

codice:
//Importazione delle librerie
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.TitledBorder;
import java.awt.BorderLayout;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BandCombineOp;
import java.awt.image.BufferedImage;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;

//Dichiarazione della classe
public class MainFrame extends JFrame
{
    //Definizione degli attributi
	JMenuBar bar;
	JMenu file;
	JMenu isto;

	//item del menu file
	JMenuItem fileApri;
	JMenuItem fileEsci;
	//item del menu isto
	JMenuItem istoNormale;
	JMenuItem istoCumulativo;

	JButton rgb;
	JButton seppia;
	JButton negativo;
	JButton balloon;
	JButton sharpen;
	JButton scala;
	JButton right;

	//bottoni
	JButton buttonIsto;
	JButton buttonIsto2;

	
	PanelImage imgPanel;
	PanelImage imgPanel2;
	
	PanelHistogram histPanel;
	PanelHistogram histPanel2;

	//Definizione del costruttore
	public MainFrame()
	{



		
	this.setTitle("Filtro Immagini");
    	
    	this.bar = new JMenuBar();
    	this.file = new JMenu("File");
    	this.isto = new JMenu("Istogramma");
    	this.fileApri = new JMenuItem("Apri");
    	this.fileEsci = new JMenuItem("Esci");
    	this.istoNormale = new JMenuItem("Tradizionale");
    	this.istoCumulativo = new JMenuItem("Cumulativo");




    	

    	
    	this.bar.add(this.file);
    	this.bar.add(this.isto);

    	
    	this.setJMenuBar(this.bar);

    
    	this.imgPanel = new PanelImage();
    	
    	
    	this.histPanel = new PanelHistogram();
    	
    	
    	this.imgPanel2 = new PanelImage();
       
 
    	this.histPanel2 = new PanelHistogram();
        
    	


    	
	GridBagConstraints lim = new GridBagConstraints();
	pane.setLayout(layout);*/

		


	    this.imgPanel.setPreferredSize(new Dimension(320,320));

	    this.histPanel.setPreferredSize(new Dimension(320,320));

	    this.buttonIsto = new JButton("Istogramma Originale");

	    JPanel left = new JPanel(new BorderLayout(8,8));

	    left.add(imgPanel, BorderLayout.NORTH);
    	left.add(buttonIsto, BorderLayout.CENTER);
    	left.add(histPanel, BorderLayout.SOUTH);

    	this.imgPanel2.setPreferredSize(new Dimension(320,320));

	    this.histPanel2.setPreferredSize(new Dimension(320,320));

	    this.buttonIsto2 = new JButton("Istogramma Modificata");

	    JPanel right = new JPanel(new BorderLayout(8,8));

	    right.add(imgPanel2, BorderLayout.NORTH);
    	right.add(buttonIsto2, BorderLayout.CENTER);
    	right.add(histPanel2, BorderLayout.SOUTH);

	    JPanel center = new JPanel(new GridLayout(1, 2, 8, 8));
	    JPanel bottom = new JPanel(new FlowLayout(FlowLayout.CENTER));

	    this.rgb = new JButton("Filtro RGB");
	    bottom.add(rgb);
    	this.scala = new JButton("Filtro Scala di Grigi");
    	bottom.add(scala);
    	this.sharpen = new JButton("Filtro Sharpen");
    	bottom.add(sharpen);
    	this.negativo = new JButton("Filtro Negativo");
    	bottom.add(negativo);
    	this.seppia = new JButton("Filtro Seppia");
    	bottom.add(seppia);
    	this.balloon = new JButton("Filtro Balloon");
    	bottom.add(balloon);
    	this.right = new JButton("Filtro Right");

	    center.add(left);
	    center.add(right);

	    JPanel centerWrapper = new JPanel(new FlowLayout());
	    centerWrapper.add(center);


	    this.add(centerWrapper, BorderLayout.CENTER);
	    this.add(bottom, BorderLayout.SOUTH);
	    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	    
	    this.setVisible(true);

    	//creo un ascoltatore e lo associo agli oggetti
    	FrameListener listener = new FrameListener(this);
    	this.addWindowListener(listener);
    	this.fileApri.addActionListener(listener);
    	this.fileEsci.addActionListener(listener);
    	this.istoNormale.addActionListener(listener);
    	this.istoCumulativo.addActionListener(listener);
    	this.buttonIsto.addActionListener(listener);
    	this.buttonIsto2.addActionListener(listener);

    	this.rgb.addActionListener(listener);
    	this.scala.addActionListener(listener);
    	this.sharpen.addActionListener(listener);
    	this.negativo.addActionListener(listener);
    	this.seppia.addActionListener(listener);
    	this.balloon.addActionListener(listener);
    	this.right.addActionListener(listener);


		JPopupMenu.setDefaultLightWeightPopupEnabled(false);

		this.setExtendedState(JFrame.MAXIMIZED_BOTH);
	}
    //Definizione del metodo main
    public static void main(String args[])
    {
    	javax.swing.SwingUtilities.invokeLater(new Runnable()
    	{
    		public void run()
    		{

		    	MainFrame frame = new MainFrame();

		    	//rendo visibile il mio frame
		    	//frame.setVisible(true);
    		}
	    });
    }
}
In altro loco mi hanno suggerito che , probabilmente , stavo mescolando componenti "lightweigth" tipici di Swing (il JPopupMenu che compare quando clicco su un menu) con componenti "heavywheight" tipici di AWT.

Soluzione:

codice:
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
Purtroppo non funziona.

Altre idee?

Grazie