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

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

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

    惡魔的尾巴

    JGraph學(xué)習(xí)筆記

    看這樣一段代碼:

     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                     * 這里是返回一個(gè)Handle(對(duì)這個(gè)線條事件的執(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是用來(lái)設(shè)置一個(gè)工廠類(lèi)對(duì)象的,而這里的工廠類(lèi)對(duì)象繼承了DefaultCellViewFactory,這里覆蓋了EdgeView,作用是產(chǎn)生一個(gè)自定義的EdgeView,來(lái)渲染特定的線形效果。
    而 其中返回的EdgeView是被覆蓋了getHandle方法的類(lèi),這個(gè)handle是用來(lái)處理這個(gè)線接受的事件。
    看下述的Handle的代碼:
        public static class MyEdgeHandle extends EdgeView.EdgeHandle {

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

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

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

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


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

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


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


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

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆檔案

    文章檔案

    收藏夾

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲bt加勒比一区二区| 亚洲综合小说久久另类区| 黄色一级视频免费观看| 91网站免费观看| 亚洲欧洲日产国码无码网站| 亚洲av无码有乱码在线观看| 在线a免费观看最新网站| 亚洲成A人片在线观看无码3D| 亚洲va成无码人在线观看| 成人a毛片免费视频观看| 亚洲A∨无码一区二区三区| 成人免费AA片在线观看| 亚洲国产成人久久三区| 黄在线观看www免费看| 看一级毛片免费观看视频| 免费毛片在线视频| 亚洲AV成人噜噜无码网站| 又色又污又黄无遮挡的免费视| 亚洲女女女同性video| 男人的好免费观看在线视频| 亚洲精品亚洲人成在线观看麻豆| 国产婷婷高清在线观看免费| 亚洲啪AV永久无码精品放毛片| 亚洲无线码在线一区观看| 无码av免费毛片一区二区| 亚洲AV成人噜噜无码网站| 亚洲熟妇中文字幕五十中出| 成人免费无码大片A毛片抽搐| 亚洲乱人伦中文字幕无码| 亚洲av日韩综合一区在线观看| 免费无码不卡视频在线观看| 37pao成人国产永久免费视频 | 亚洲AV无码AV日韩AV网站| 亚洲第一中文字幕| 国产gv天堂亚洲国产gv刚刚碰| 久久精品成人免费观看97| 亚洲片一区二区三区| 国产一级a毛一级a看免费人娇 | 亚洲一区在线免费观看| 亚洲成AV人片在WWW色猫咪|