java how to progroamming上有

解决方案 »

  1.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;public class PopupMenuextends JFrame
    {
    public PopupMenu(String strTitle)
    {
    super(strTitle);
    final JPopupMenu mnu=new JPopupMenu();
    mnu.add(new JMenuItem("new"));
    mnu.add(new JMenuItem("save"));
    mnu.add(new JMenuItem("print"));
    final JLabel la=new JLabel("click",JLabel.CENTER);
    la.addMouseListener(new java.awt.event.MouseAdapter()
    {
    public void mousePressed(MouseEvent e)
    {
    mnu.show(la,e.getX(),e.getY());
    }
    });
    this.getContentPane().add(la);
    pack();
    show();
    }

    public static void main(String args[])
    {
    PopupMenu PopupMenu= new PopupMenu("例子");

    PopupMenu.addWindowListener(new WindowAdapter(){
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    });
    }
    }
      

  2.   

    pack();  --->setSize(300,200);
    show();  --->setVisible(true);把上面两行改一下,更容易看,show()方法好像已经不推荐使用了吧,用setVisible(true);代替
      

  3.   

    PopupMenu PopupMenu= new PopupMenu("例子");//不好!对象名与类名一样!!建议改为:PopupMenu PopupMenuOne = new PopupMenu("例子");
    PopupMenuOne.addWindowListener
      

  4.   

    对上面程序进行改进一下,右键弹出菜单import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.*;public class PopupMenu
        extends JFrame
    {    public PopupMenu(String strTitle)
        {
            super(strTitle);
            final JPopupMenu mnu = new JPopupMenu();
            mnu.add(new JMenuItem("new"));
            mnu.add(new JMenuItem("save"));
            mnu.add(new JMenuItem("print"));
            final JLabel la = new JLabel("click", JLabel.CENTER);
            la.addMouseListener(new java.awt.event.MouseAdapter()
            {
                public void mousePressed(MouseEvent e)
                {
                    if (e.getButton() == e.BUTTON3)
                        mnu.show(la, e.getX(), e.getY());
                }            public void mouseReleased(MouseEvent e)
                {
                    if (e.getButton() == e.BUTTON3)
                        mnu.show(la, e.getX(), e.getY());
                }            public void mouseClicked(MouseEvent e)
                {
                    if (e.getButton() == e.BUTTON3)
                        mnu.show(la, e.getX(), e.getY());
                }        });
            this.getContentPane().add(la);
            pack();
            show();
        }    public static void main(String args[])
        {
            PopupMenu PopupMenu = new PopupMenu("例子");        PopupMenu.addWindowListener(new WindowAdapter()
            {
                public void windowClosing(WindowEvent e)
                {
                    System.exit(0);
                }
            });
        }
    }