import java.awt.*;
import java.awt.event.*;
public class Srpopmenu extends Frame implements ActionListener,MouseListener
{
private TextArea srm=new TextArea();
private PopupMenu pm=new PopupMenu();
private MenuItem item1=new MenuItem("复制");
private MenuItem item2=new MenuItem("剪切");
private MenuItem item3=new MenuItem("粘贴");
public Srpopmenu()
{
setTitle("弹出式菜单");
setSize(300,200);
Winadapter wd=new Winadapter();
addWindowListener(wd);
add(srm);
srm.add(pm);
pm.add(item1);
pm.add(item2);
pm.add(item3);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
srm.addMouseListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.isPopupTrigger());
pm.show(this,e.getX(),e.getY());
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mousePressed(MouseEvent e){}
public static void main(String args[])
{
new Srpopmenu();
}
}
class Winadapter extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-12 15:19:52的历史汇总数据(不包括此帖):
    发帖的总数量:223                      发帖的总分数:9727                     每贴平均分数:43                       
    回帖的总数量:183                      得分贴总数量:3                        回帖的得分率:1%                       
    结贴的总数量:223                      结贴的总分数:9727                     
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.90  %               无满意结分率:0.51  %                  
    敬礼!
      

  2.   

    我全部改成Swing组件了
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;import javax.swing.JFrame;
    import javax.swing.JMenuItem;
    import javax.swing.JPopupMenu;
    import javax.swing.JTextArea;public class Srpopmenu extends JFrame implements ActionListener, MouseListener
    {
        private static final long serialVersionUID = 2262184115394670248L;    private JTextArea srm = new JTextArea();    private JPopupMenu pm = new JPopupMenu();    private JMenuItem item1 = new JMenuItem("复制");    private JMenuItem item2 = new JMenuItem("剪切");    private JMenuItem item3 = new JMenuItem("粘贴");    public Srpopmenu()
        {
            setTitle("弹出式菜单");
            setSize(300, 200);
            setLocationRelativeTo(null);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            add(srm);
            srm.add(pm);
            pm.add(item1);
            pm.add(item2);
            pm.add(item3);
            item1.addActionListener(this);
            item2.addActionListener(this);
            item3.addActionListener(this);
            srm.addMouseListener(this);
            setVisible(true);
        }    public void actionPerformed(ActionEvent e)
        {
            System.out.println(((JMenuItem)e.getSource()).getText());
        }    public void mouseReleased(MouseEvent e)
        {
            if(e.isPopupTrigger())
            {
                pm.show(srm, e.getX(), e.getY());
            }
        }
        
        public void mouseClicked(MouseEvent e)
        {}    public void mouseEntered(MouseEvent e)
        {}    public void mouseExited(MouseEvent e)
        {}    public void mousePressed(MouseEvent e)
        {}    public static void main(String args[])
        {
            new Srpopmenu();
        }
    }