<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 31,  comments - 31,  trackbacks - 0

           前兩天遇到為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能這個問題,搜遍了國內網站,也沒有個好結果,終于多天后在一個國外的svn服務器上找到了一段代碼,解決了問題
    1、為TextViewer添加TextViewerUndoManager來管理記錄

    protected TextViewer textViewer;
         
    protected TextViewerUndoManager undoManager;
         
          
    //20是保存記錄的數量。
         undoManager = new TextViewerUndoManager(20);
         
         
    //綁定對textViewer控件的數據進行管理
         undoManager.connect(textViewer);
         textViewer.setUndoManager(undoManager);


    2、添加Ctrl+z,與Ctrl+y事件

    StyledText styledText = textViewer.getTextWidget();
    styledText.addKeyListener(
    new KeyListener( ) {
                
    public void keyPressed( KeyEvent e )
                
    {
                    
    if ( isUndoKeyPress( e ) )
                    
    {
                        textViewer.doOperation( ITextOperationTarget.UNDO );
                    }

                    
    else if ( isRedoKeyPress( e ) )
                    
    {
                        textViewer.doOperation( ITextOperationTarget.REDO );
                    }

                }

                
    private boolean isUndoKeyPress( KeyEvent e )
                
    {
                    
    // CTRL + z
                    return ( ( e.stateMask & SWT.CONTROL ) > 0 )
                    
    && ( ( e.keyCode == 'z' ) || ( e.keyCode == 'Z' ) );
                }

                
    private boolean isRedoKeyPress( KeyEvent e )
                
    {
                    
    // CTRL + y
                    return ( ( e.stateMask & SWT.CONTROL ) > 0 )
                    
    && ( ( e.keyCode == 'y' ) || ( e.keyCode == 'Y' ) );
                }

                
    public void keyReleased( KeyEvent e )
                
    {
                    
    // do nothing
                }

            }
    );
    posted on 2007-07-16 10:49 小平 閱讀(1869) 評論(3)  編輯  收藏 所屬分類: eclipse plugIn


    FeedBack:
    # re: 為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能
    2008-04-16 14:47 | 張凱
    不錯,學習了  回復  更多評論
      
    # re: 為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能
    2013-06-11 21:43 | yumin_999@163.com
    反復測試,還是不好使,奇怪。yumin_999@163.com  回復  更多評論
      
    # re: 為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能
    2013-06-11 22:15 | yumin_999@163.com
    找到原因了,必須加textViewer.setDocument(new Document());才好使  回復  更多評論
      
    <2013年6月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲情侣一区二区无| 成人最新午夜免费视频| 中文字幕第一页亚洲| 国产黄色免费观看| 久久久久亚洲精品无码网址| 三级片免费观看久久| 免费一级国产生活片| 成年网站免费入口在线观看| 中文字幕亚洲不卡在线亚瑟| 大地影院MV在线观看视频免费 | 亚洲午夜国产精品无码老牛影视 | 亚洲中文字幕无码爆乳AV| h在线看免费视频网站男男| 久久精品国产精品亚洲| 免费一区二区三区| 亚洲精品亚洲人成在线观看麻豆| 亚色九九九全国免费视频| 亚洲人成色在线观看| 全黄性性激高免费视频| 热99RE久久精品这里都是精品免费 | 久久久久久国产精品免费无码| 中文字幕亚洲第一在线| 亚洲欧洲免费无码| 黄色网址大全免费| 久久精品国产精品亚洲精品| 最近中文字幕无免费| 亚洲丶国产丶欧美一区二区三区| 在线视频免费国产成人| 两个人日本免费完整版在线观看1| 亚洲人成亚洲精品| 国产麻豆免费观看91| 国产做国产爱免费视频| 亚洲一区电影在线观看| 亚洲一区无码精品色| 国产成人免费在线| 深夜a级毛片免费无码| 亚洲AV乱码久久精品蜜桃| 免费视频淫片aa毛片| 日本免费人成网ww555在线| 亚洲AV无码之国产精品| 亚洲大片在线观看|