rendered paste bodyimport java.awt.*;
import java.awt.Event.*;
import javax.swing.*;
/////////////////////
import java.awt.event.*;
/////////////////////
public class PopupTest extends JFrame
{
private JRadioButtonMenuItem items[];
private Color colorValeus[]={Color.blue,Color.yellow,Color.red};
private JPopupMenu popupMenu;
public PopupTest()
{
super("Using JPopupMenus");
ItemHandler handler = new ItemHandler();
String colors[] = {"Blue","yellow","Red"};
ButtonGroup colorGroup = new ButtonGroup();
popupMenu = new JPopupMenu();
items = new JRadioButtonMenuItem[3];
for ( int x=0; x<items.length; x++ ){
items[x] = new JRadioButtonMenuItem(colors[x]);
popupMenu.add(items[x]);
colorGroup.add(items[x]);
items[x].addActionListener(handler);
}
/////////////////////
getContentPane().setBackground(Color.white);
/////////////////////
addMouseListener( new MouseAdapter() {
public void mousePressed( MouseEvent event )
{
checkForTriggerEvent( event );
}
public void mouseReleased ( MouseEvent event )
{
checkForTriggerEvent( event );
}
private void checkForTriggerEvent ( MouseEvent event )
{
if ( event.isPopupTrigger() )
popupMenu.show( event.getComponent(),event.getX (), event.getY() );
}
}
);
setSize( 300,200 );
setVisible( true );
}
public static void main( String args[] )
{
PopupTest application = new PopupTest();
application.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE );
}
private class ItemHandler implements ActionListener {
public void actionPerformed( ActionEvent event )
{
for ( int i=0; i<items.length; i++ )
if ( event.getSource () == items[i] )
{
/////////////////////
getContentPane().setBackground( colorValeus[i] );
/////////////////////
repaint();
return;
}
}
}
}