⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graph.java

📁 myjxta是用jxta开发的一个p2p通讯软件 有聊天 文件共享 视频3大功能 界面采用swing
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        });                setTitle(STRINGS.getString("title.graph"));        setDefaultCloseOperation(DISPOSE_ON_CLOSE);        setLocationRelativeTo(this.view);        // xxx: jre 1.5        //setAlwaysOnTop(false);                getContentPane().add(display);                pack();                setVisible(true);                while (display.getGraphics() == null) {        }                this.filter.runNow();        this.layout.runNow();        //this.forces.runNow();    }    private void shutdownGraph() {        if (listener!=null){            MyJxtaObjectRepository.getObjectRepository().removeListener(listener);            listener=null;        }    }    private void applyLayout() {                layout = new ActionList(registry);        layout.add(new TreeFilter(false, true, true));        layout.add(new RadialTreeLayout());        layout.add(new LayoutColorFunction());            }        private void applyAnimation() {                animate = new ActionList(registry,1500,20);        animate.setPacingFunction(new SlowInSlowOutPacer());        animate.add(new PolarLocationAnimator());        animate.add(new ColorAnimator());        animate.add(new RepaintAction());        animate.alwaysRunAfter(layout);            }    private void applyUpdateAndFilters() {                update = new ActionList(registry);        update.add(fu_colorFunction);        update.add(new RepaintAction());                filter = new ActionList(registry);        filter.add(new FisheyeTreeFilter(-5));        filter.add(new TreeEdgeFilter());            }        private void applyForces() {                ForceSimulator fs = new ForceSimulator();                fs = new ForceSimulator();        fs.addForce(new NBodyForce(-0.6f, 15f, 3f));        fs.addForce(new DragForce());                forces = new ActionList(registry, 1000);        forces.add(new ForceDirectedLayout(fs, true));        forces.add(fu_colorFunction);                forces.add(new RepaintAction());        forces.alwaysRunAfter(animate);            }            /** Setup Node and Edge Renderers for items in the registry. Images are     *  taken from resouces. The node items use the same images as jxtatreetable     */    private void applyRenderers() {                TextImageItemRenderer nr = new TextImageItemRenderer() {            final BasicStroke m_stroke = new BasicStroke(5);            public BasicStroke getStroke(VisualItem item) {                return m_stroke;            } //        };                nr.setHorizontalAlignment(TextImageItemRenderer.ALIGNMENT_LEFT);        nr.setVerticalAlignment(TextImageItemRenderer.ALIGNMENT_CENTER);                nr.setHorizontalPadding(3);        nr.setVerticalPadding(0);        nr.setMaxImageDimensions(50,50);        nr.setRoundedCorner(8, 8);        nr.setRenderType(ShapeRenderer.RENDER_TYPE_FILL);        /** associates attribute id and item label */        nr.setTextAttributeName(JxtaNodeLoader.LABEL);        /** associates attribute id and item image */        nr.setImageAttributeName(JxtaNodeLoader.IMAGE);                        /** add images into prufuse resources */        Resources res = Resources.getInstance();                nr.getImageFactory().addImage("TreeTable.PeerGroup",                res.getIconResource("TreeTable.PeerGroupJoined").getImage());        nr.getImageFactory().addImage("TreeTable.PeerPresent",                res.getIconResource("TreeTable.PeerPresent").getImage());        nr.getImageFactory().addImage("TreeTable.Share",                res.getIconResource("TreeTable.Share").getImage());                DefaultEdgeRenderer er = new DefaultEdgeRenderer();        /**push the renderers into registry */        registry.setRendererFactory(new DefaultRendererFactory(                nr, er, null));    }                public final class RadialColorFunction extends ColorFunction {        private final Color graphEdgeColor = Color.LIGHT_GRAY;        private final Color highlightColor = new Color(50,50,255);        private final Color focusColor = new Color(255,50,50);        private final ColorMap colorMap;                public RadialColorFunction(int thresh) {            colorMap = new ColorMap(                    ColorMap.getInterpolatedMap(thresh+1, Color.RED, Color.BLACK),                    0, thresh);        } //                public Paint getFillColor(VisualItem item) {            if ( item instanceof NodeItem ) {                return Color.WHITE;            } else if ( item instanceof AggregateItem ) {                return Color.LIGHT_GRAY;            } else if ( item instanceof EdgeItem ) {                return getColor(item);            } else {                return Color.BLACK;            }        } //                public Paint getColor(VisualItem item) {            if ( item.isFocus() ) {                return focusColor;            } else if ( item.isHighlighted() ) {                return highlightColor;            } else if (item instanceof NodeItem) {                int d = ((NodeItem)item).getDepth();                return colorMap.getColor(d);            } else if (item instanceof EdgeItem) {                EdgeItem e = (EdgeItem) item;                if ( e.isTreeEdge() ) {                    int d, d1, d2;                    d1 = ((NodeItem)e.getFirstNode()).getDepth();                    d2 = ((NodeItem)e.getSecondNode()).getDepth();                    d = Math.max(d1, d2);                    return colorMap.getColor(d);                } else {                    return graphEdgeColor;                }            } else {                return Color.BLACK;            }        } //    } // end of inner class RadialColorFunction            public final class ForcesAndUpdateColorFunction extends ColorFunction {        private final Color pastelRed = new Color(221,238,240);        private final Color pastelOrange = new Color(242, 215, 121);//        private Color lightGray = new Color(220, 220, 255);                public Paint getColor(VisualItem vi) {            Paint p = null;                        if (vi instanceof EdgeItem) {                if (vi.isHighlighted()) {                    p = pastelOrange;                } else {                    p = Color.LIGHT_GRAY;                }            } else {                p = Color.BLACK;            }                        return p;        }                public Paint getFillColor(VisualItem vi) {            Paint p = null;                        if (vi.isHighlighted()) {                p = pastelOrange;            } else if (vi instanceof NodeItem) {                                p = pastelRed;                            } else {                p = Color.BLACK;            }                        return p;        }    }        public final class LayoutColorFunction extends ColorFunction {//        private Color pastelRed = Color.RED;; //new Color(255, 125, 125);        private final Color pastelOrange = Color.ORANGE;// new Color(255, 200, 125);//        private Color lightGray = Color.BLUE; //new Color(220, 220, 255);                public Paint getColor(VisualItem vi) {            Paint p = null;                        if (vi instanceof EdgeItem) {                if (vi.isHighlighted()) {                    p = pastelOrange;                } else {                    p = Color.LIGHT_GRAY;                }            } else {                p = Color.BLACK;            }                        return p;        }                public Paint getFillColor(VisualItem vi) {            Paint p = null;                        if (vi.isHighlighted()) {                p = pastelOrange;            } else if (vi instanceof NodeItem) {                                p = Color.WHITE;                                                            } else {                p = Color.BLACK;            }                        return p;        }    }            }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -