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

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

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

    惡魔的尾巴

    JGraph學習筆記

    看這樣一段代碼:

     1    protected JGraph createGraph() {
     2        JGraph graph = new MyGraph(new MyModel());
     3        graph.getGraphLayoutCache().setFactory(new DefaultCellViewFactory() {
     4
     5            // Override Superclass Method to Return Custom EdgeView
     6            protected EdgeView createEdgeView(Object cell) {
     7
     8                // Return Custom EdgeView
     9                return new EdgeView(cell) {
    10
    11                    /**
    12                     * Returns a cell handle for the view.
    13                     * 這里是返回一個Handle(對這個線條事件的執(zhí)行器)
    14                     */

    15                    public CellHandle getHandle(GraphContext context) {
    16                    
    17                        return new MyEdgeHandle(this, context);
    18                    }

    19
    20                }
    ;
    21            }

    22        }
    );
    23        return graph;
    24    }
    其中 setFactory是用來設置一個工廠類對象的,而這里的工廠類對象繼承了DefaultCellViewFactory,這里覆蓋了EdgeView,作用是產(chǎn)生一個自定義的EdgeView,來渲染特定的線形效果。
    而 其中返回的EdgeView是被覆蓋了getHandle方法的類,這個handle是用來處理這個線接受的事件。
    看下述的Handle的代碼:
        public static class MyEdgeHandle extends EdgeView.EdgeHandle {

            
    /**
             * 
    @param edge
             * 
    @param ctx
             
    */

            
    public MyEdgeHandle(EdgeView edge, GraphContext ctx) {
                
    super(edge, ctx);
            }

            
    //這個方法是用來添加一個方法,判斷是否要在線條上添加一個斷點,終于試出來了,不爽,看來做事還是要靜心下來才能做
            
    // Override Superclass Method
            public boolean isAddPointEvent(MouseEvent event) {
                
    // Points are Added using Shift-Click
                return event.isShiftDown();
                
    //return false;
            }

            
    //這個方法是用來添加一個方法,判斷是否要在線條消除一個斷點。
            
    // Override Superclass Method
            public boolean isRemovePointEvent(MouseEvent event) {
                
    // Points are Removed using Shift-Click
                return event.isShiftDown();
            }


        }
    其中isAddPointEvent和isRemovePointEvent兩個方法分別是用來回調(diào)判斷何時加入和刪除線條的中間斷點。

    posted on 2007-08-23 14:33 惡魔的尾巴 閱讀(862) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2007年8月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導航

    統(tǒng)計

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    收藏夾

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 最近中文字幕大全中文字幕免费 | 亚洲αv在线精品糸列| 男男gay做爽爽的视频免费| 女人18特级一级毛片免费视频| 亚洲一本之道高清乱码| 无码免费午夜福利片在线| 亚洲精品美女网站| 妞干网手机免费视频| 亚洲熟女www一区二区三区| 免费精品国产日韩热久久| 天堂亚洲国产中文在线| 无人在线观看免费高清视频 | 69式互添免费视频| 亚洲中文字幕久久精品无码VA| 男男AV纯肉无码免费播放无码| 亚洲第一男人天堂| 日本免费人成视频播放| 免费无遮挡无遮羞在线看| 亚洲综合色区在线观看| sihu国产精品永久免费| 亚洲不卡中文字幕无码| 国产精彩免费视频| 亚洲成a∧人片在线观看无码| 免费一区二区三区四区五区| 国产V片在线播放免费无码 | 亚洲Av综合色区无码专区桃色| 无码人妻久久一区二区三区免费 | 亚洲 欧洲 视频 伦小说| 精品免费久久久久久成人影院 | 男女拍拍拍免费视频网站| 亚洲Av永久无码精品三区在线 | 波多野结衣免费一区视频 | 一二三四在线播放免费观看中文版视频 | 国产亚洲精品美女久久久久久下载| 亚洲精品高清一二区久久| 亚欧免费无码aⅴ在线观看| 亚洲www在线观看| 中文字幕第13亚洲另类| 2020因为爱你带字幕免费观看全集 | 成全高清视频免费观看| 国产成人无码免费看片软件|