我在用java模拟一个记事本。遇到若干问题
在java中,请问如何在JTextArea文本区右击出现类似记事本中快捷菜单的效果。
顺便再问一下如何添加快捷菜单。如按下Ctrl+N就可以实现新建记事本功能。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【mchxanjia】截止到2008-07-12 22:58:25的历史汇总数据(不包括此帖):
    发帖的总数量:7                        发帖的总分数:20                       每贴平均分数:2                        
    回帖的总数量:5                        得分贴总数量:1                        回帖的得分率:20%                      
    结贴的总数量:4                        结贴的总分数:0                        
    无满意结贴数:4                        无满意结贴分:20                       
    未结的帖子数:3                        未结的总分数:20                       
    结贴的百分比:57.14 %               结分的百分比:0.00  %                  
    无满意结贴率:100.00%               无满意结分率:---------------------
    楼主加油
      

  2.   

    text.addMouseListener(new MouseAdapter(){  //弹出菜单的位置
         public void mousePressed(MouseEvent popevent){
    if(popevent.isPopupTrigger()){
         pop.show(popevent.getComponent(), popevent.getX(), popevent.getY());
    }
        }
    public void mouseReleased(MouseEvent popevent){
    if(popevent.isPopupTrigger()){
    pop.show(popevent.getComponent(), popevent.getX(), popevent.getY());
    }
    }
    });//PS : text为JTextArea的一个对象,pop为JPopupMenu的对象
      

  3.   

    右键快捷菜单需要生成一个popupmenu对象,然后捕捉鼠标右键信息,在合适的位置show这个popupmenu.快捷键也很简单.在生成JMenuItem对象时设定一个参数就行了:JMenuItem jmi= new JMenuItem("剪切");
    jmi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_MASK));这样处理以后,按CRTL+X与直接点这个菜单项是一样的功能.