Menu para cambiar color de fondo en Java Swing

import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Menu extends JFrame implements ActionListener{
private JMenuBar menuBar;

private JMenu menu1;
private JMenuItem m1, m2, m3;

public Menu(){
setLayout(null);

menuBar = new JMenuBar();
//llamando al metodonsetJmenuBar
//asociamos el jmenubar a jframe
setJMenuBar(menuBar);

//creamos un objeto de la clase jmenu
menu1=new JMenu("Opciones");
//asociamos menu1 con menubar
menuBar.add(menu1);

//creamos jmenuitem
m1=new JMenuItem("Rojo");
//indicamos accion
m1.addActionListener(this);
//le asociamos a jmenu
menu1.add(m1);

//creamos jmenuitem
m2=new JMenuItem("Azul");
//indicamos accion
m2.addActionListener(this);
//le asociamos a jmenu
menu1.add(m2);

//creamos jmenuitem
m3=new JMenuItem("Verde");
//indicamos accion
m3.addActionListener(this);
//le asociamos a jmenu
menu1.add(m3);

}


public static void main(String[] args) {
// TODO Auto-generated method stub
Menu a = new Menu();
a.setBounds(480,190,400,400);
a.setVisible(true);
a.setDefaultCloseOperation(EXIT_ON_CLOSE);
}


@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
Container f=this.getContentPane(); //objeto qeu asocie al jframe
if(e.getSource()==m1){
f.setBackground(new Color(255,0,0));
}
if(e.getSource()==m2){
f.setBackground(new Color(0,0,255));
}
if(e.getSource()==m3){
f.setBackground(new Color(0,255,0));
}
}

}