我想做一个弹出式菜单,代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MenuItems extends JApplet 
{
public void init()
{
// JPanel jp1=new JPanel();
// this.add(jp1);
Icon newIcon=new ImageIcon("F:\\图标\\系统图标\\74.gif","新建文档");
Icon openIcon=new ImageIcon("F:\\图标\\系统图标\\8.gif","打开文档");

JMenuBar jbar=new JMenuBar();
JMenu jmenu=new JMenu("File");

JMenuItem newItem=new JMenuItem("新建",newIcon);
JMenuItem openItem=new JMenuItem("打开……",openIcon);
JMenuItem saveItem=new JMenuItem("保存");
JMenuItem saveAsItem=new JMenuItem("另存为……");
JMenuItem exitItem=new JMenuItem("退出");

jmenu.add(newItem);
jmenu.add(openItem);
jmenu.add(saveItem);
jmenu.add(saveAsItem);
jmenu.addSeparator();
jmenu.add(exitItem);

jbar.add(jmenu);
setJMenuBar(jbar);

exitItem.addActionListener(new ActionListener()
     {
public void actionPerformed(ActionEvent a)
{
System.exit(0);
}
     }
);

JPopupMenu RPopupMenu=new JPopupMenu();
JMenuItem popItem1=new JMenuItem("弹出菜单项1");
JMenuItem popItem2=new JMenuItem("弹出菜单项2");
JMenuItem popItem3=new JMenuItem("弹出菜单项3");
RPopupMenu.add(popItem1);
RPopupMenu.add(popItem2);
RPopupMenu.add(popItem3);
popItem2.setEnabled(false);

addMouseListener(new MouseAdapter()
  {
public void mouseCliced(MouseEvent m)
{
    if(m.getButton()==3)
RPopupMenu.show(m.getComponent(),m.getX(),m.getY());
                                //上面这句代码在Eclipse中老是报告:
                                //Cannot refer to a non-final variable RPopupMenu 
                                //inside an inner class defined in a different method
}
  }
);
}}
我用的是Eclipse3.0

解决方案 »

  1.   

    JAVA软件工程师1、  精通JAVA基础,喜欢研究JAVA中的深层次问题,经常为了攻克一个问题茶不思饭不想。掌握JAVA的常用命令。理解JAVA中的继承,封装,多态(最基本要求。最好是可以在实际应用中使用)。熟练使用JAVA的IO,多线程,了解socket编程(这个只需要基本的应用就可以了,不必非得大师级的)。
    2、  精通JSP,servlet, filter的使用及配置(必须精通,工作中不能在这上浪费时间)。
    3、  熟悉struts应用。深入了解MVC模式。
    4、  熟练Hibernate的使用。(熟练并不是指应用HibernateSynchronizer这样的工具,而是要会手工写的哦)。
    5、  熟练SQL,可以熟练的运用SQL操作DB(这个没什么可说的,注意看SQL,不是HQL)。
    6、  熟练使用tomcat配置、部署(这个你一定会吧)。
    7、  熟悉spring者优先。
    qq  283765999
    msn [email protected]
    地点: 北京中关村太平洋附近
      

  2.   

    ...
    final JPopupMenu  RPopupMenu=new JPopupMenu();
    JMenuItem popItem1=new JMenuItem("弹出菜单项1");
    JMenuItem popItem2=new JMenuItem("弹出菜单项2");
    JMenuItem popItem3=new JMenuItem("弹出菜单项3");
    ....