大家好!       
    制作一个二级弹出菜单,本来以为很简单,结果发现JPopupMenu不和PopupMenu一样,JPopupMenu不能通过PopupMenu.add(new PopupMenu)的方式实现耳机弹出菜单,那么用JPopupMenu是如何实现的呢?
    我不能用插件实现,是要手写的那种。
    或者是,Eclipse也有二级弹出菜单,谁能不能把源码发过来学习学习呢?    谢谢!
    工作愉快。

解决方案 »

  1.   

    用JBUILDER很容易实现 JBUILDER是专门做SWING的
      

  2.   

    是这样吗?不是很明白 JMenuBar menuBar2 = new JMenuBar();
    JMenu menu = new JMenu("JMenu");
    menu.add(new JMenuItem("JMenuItem"));
    menuBar2.add(menu);
    frame.setJMenuBar(menuBar2);
      

  3.   

    在JPopupMenu中加二级菜单的话...
    直接
      JPopupMenu.add(JMenu menu);
    即可
      

  4.   

    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuItem;
    import javax.swing.JPopupMenu;
    public class text
    implements MouseListener{
        JPopupMenu jpopupMenu1 = new JPopupMenu();
        JMenuItem jmenuItem1,jmenuItem2,jmenuItem3,jmenuItem4;
        JMenu t;
        JFrame frame=new JFrame();
    public text(){
        frame.setSize(new Dimension(400,200));
        jmenuItem1 = new JMenuItem("新增");
        jmenuItem2 = new JMenuItem("修改");
        jmenuItem3 = new JMenuItem("删除");
        t = new JMenu("kk");
        jpopupMenu1.add(jmenuItem1);
        jpopupMenu1.add(jmenuItem2);
        jpopupMenu1.add(t);
        t.add(jmenuItem3);
        JButton b=new JButton("右击我");
        b.addMouseListener(this);
        frame.setLayout(new BorderLayout());
        frame.add(b);
        frame.setVisible(true);
    }
    public static void main(String args[]){
        new text();
    }
    public void mouseClicked(MouseEvent e)
    {
        // TODO Auto-generated method stub
        if(e.isMetaDown()){//检测鼠标右键单击 
            jpopupMenu1.show(frame, e.getX(), e.getY()+80);
         }
    }
    public void mouseEntered(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }
    public void mouseExited(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }
    public void mousePressed(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }
    public void mouseReleased(MouseEvent arg0)
    {
        // TODO Auto-generated method stub
        
    }
    }
      

  5.   

    谢谢了。呵呵,看来我的API还是不行!