All pastes #753174 Raw Edit

Flying Angel

public text v1 · immutable
#753174 ·published 2007-10-29 00:27 UTC
rendered paste body
import 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;
            }
    }
}
}