亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? linkpathdemo.java

?? 全面實現ilog地功能,沒有使用第三方lib.
?? JAVA
字號:
/*
 * This source code is part of TWaver 1.3.1
 *
 * SERVA Software PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 * Copyright 2000-2005 SERVA Software, Inc. All rights reserved.
 */

package demo.network;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Point;
import java.awt.geom.GeneralPath;

import javax.swing.SwingUtilities;

import twaver.Link;
import twaver.Node;
import twaver.TWaverConst;
import twaver.network.LinkLayouter;
import twaver.network.TNetwork;
import twaver.network.ui.LinkUI;
import demo.DemoPane;

public class LinkPathDemo extends DemoPane {
	
	// custom link ui for listen client property "camber" change event
	public static class CustomLinkUI extends LinkUI{
		GeneralPath customPath = null;
		public CustomLinkUI(TNetwork network, Link link) {
			super(network, link);
		}
	    public void updateClientProperty(String propertyName) {
	    	super.updateClientProperty(propertyName);
	    	if(propertyName.equals("camber")){
	    		this.invalidateLinkPath();
	    	}
	    }
	}
	
    public LinkPathDemo() {
        final TNetwork network = new TNetwork();
        this.add(network, BorderLayout.CENTER);
        
        // custom link layout
        network.setLinkLayout(new LinkLayouter(){
			public void layout() {
				// do nothing;
			}
			public GeneralPath getLinkPath(LinkUI linkUI) {
				GeneralPath customPath;
	            Point p1 = linkUI.getFromPoint();
	            Point p2 = linkUI.getToPoint();
		    	if(linkUI.isBundleAgent()){
		    		customPath = new GeneralPath();
		    		customPath.moveTo(p1.x, p1.y);
		    		customPath.lineTo(p2.x, p2.y);
		    	}else{
			    	Integer value = (Integer)linkUI.getElement().getClientProperty("camber");
			    	int camber = 0;
			    	if(value != null){
			    		camber = value.intValue();
			    	}
			    	customPath = new GeneralPath();
			    	customPath.moveTo(p1.x, p1.y);
			    	customPath.quadTo(200, camber, p2.x, p2.y);
		    	}
		    	return customPath;
			}
        });
        
        final Node node1 = new Node();
        node1.setLocation(100, 100);
        network.getDataBox().addElement(node1);
        final Node node2 = new Node();
        node2.setLocation(300, 100);
        network.getDataBox().addElement(node2);
        final Node node3 = new Node();
        node3.setLocation(500, 100);
        network.getDataBox().addElement(node3);
        
        final Link link1 = new Link(node1, node2){
            public String getUIClassID() {
                return CustomLinkUI.class.getName();
            }
        };
        link1.putClientProperty(TWaverConst.PROPERTYNAME_LINK_WIDTH, new Integer(8));
        link1.putClientProperty(TWaverConst.PROPERTYNAME_LINK_COLOR, Color.cyan.darker());
        network.getDataBox().addElement(link1);
        
        final Link link2 = new Link(node2, node1){
            public String getUIClassID() {
                return CustomLinkUI.class.getName();
            }
        };
        link2.putClientProperty(TWaverConst.PROPERTYNAME_LINK_WIDTH, new Integer(8));
        link2.putClientProperty(TWaverConst.PROPERTYNAME_LINK_COLOR, Color.blue);
        network.getDataBox().addElement(link2);
        
        final Link link3 = new Link(node2, node3){
            public String getUIClassID() {
                return CustomLinkUI.class.getName();
            }
        };
        link3.putClientProperty(TWaverConst.PROPERTYNAME_LINK_WIDTH, new Integer(8));
        link3.putClientProperty(TWaverConst.PROPERTYNAME_LINK_COLOR, Color.red);
        link3.putClientProperty("camber", new Integer(200));
        network.getDataBox().addElement(link3);
        
        final Link link4 = new Link(node2, node3){
            public String getUIClassID() {
                return CustomLinkUI.class.getName();
            }
        };
        link4.putClientProperty(TWaverConst.PROPERTYNAME_LINK_WIDTH, new Integer(8));
        link4.putClientProperty(TWaverConst.PROPERTYNAME_LINK_COLOR, Color.yellow);
        link4.putClientProperty("camber", new Integer(400));
        network.getDataBox().addElement(link4);
        
        
        LinkUI linkUI = (LinkUI)network.getRenderer().getElementUI(link1);
        linkUI.setBundleExpand(true, true);
        
        Thread thread = new Thread() {
            public void run() {
                boolean flag = false;
                while (true) {
                    flag = !flag;
                    
                    final boolean expend = flag;
                    // change expand state 
                    SwingUtilities.invokeLater(new Runnable() {
                        public void run() {
                            LinkUI linkUI = (LinkUI)network.getRenderer().getElementUI(link3);
                            linkUI.setBundleExpand(expend, true);
                        }
                    });
                    
                    // change camber value
                    for (int i = 0; i < 300; i+=2) {
                        int camber = i;
                        if (flag) {
                        	camber = 300 - i;
                        }
                        final Integer value = new Integer(camber);
                        SwingUtilities.invokeLater(new Runnable() {
                            public void run() {
                                link1.putClientProperty("camber", value);
                                link2.putClientProperty("camber", new Integer(300-value.intValue()));
                            }
                        });
                        try {
                            Thread.sleep(10);
                        } catch (InterruptedException ex) {
                        }
                    }
                }
            }
        };
        thread.start();
    }
    
	public String getTitle() {
		return "Link Path Demo";
	}

	public String getHelp() {
		return "This demo shows how to customize link path.";
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区精品在线观看| 亚洲免费成人av| 韩国在线一区二区| 久久精品亚洲乱码伦伦中文| 国产精品亚洲午夜一区二区三区| 国产亚洲制服色| 91在线观看一区二区| 亚洲三级在线免费观看| 在线看不卡av| 蜜臀av性久久久久蜜臀aⅴ| 欧美精品一区二区三区很污很色的 | 国产欧美日韩精品在线| 不卡的看片网站| 亚洲精品国产无天堂网2021 | 日本人妖一区二区| 久久影视一区二区| 成人h动漫精品一区二| 亚洲制服丝袜一区| 日韩欧美久久久| thepron国产精品| 亚洲成在人线在线播放| 精品福利在线导航| 色综合天天综合网天天狠天天| 舔着乳尖日韩一区| 国产亚洲一本大道中文在线| 一本到不卡精品视频在线观看| 偷拍与自拍一区| 日本一区二区免费在线观看视频| 色美美综合视频| 精品一区二区在线视频| 中文字幕中文在线不卡住| 欧美日韩一区三区四区| 国产一区二区三区日韩| 综合分类小说区另类春色亚洲小说欧美| 欧美午夜精品久久久久久超碰| 国内欧美视频一区二区| 亚洲午夜久久久久久久久电影院| 久久亚洲私人国产精品va媚药| 欧美在线|欧美| 成人国产精品免费网站| 天天综合日日夜夜精品| 国产精品伦理在线| 日韩欧美国产一区二区在线播放| 色噜噜狠狠成人网p站| 国内外成人在线| 日日欢夜夜爽一区| 一区二区在线看| 国产精品久久久久久久久果冻传媒 | 欧美高清视频在线高清观看mv色露露十八 | 中文字幕日韩一区| 久久青草欧美一区二区三区| 欧美性大战久久| 91在线云播放| 国产91对白在线观看九色| 日韩av午夜在线观看| 一区二区三区.www| 日韩理论片一区二区| 中文字幕国产精品一区二区| 欧美成人乱码一区二区三区| 欧美精品色综合| 欧美自拍偷拍午夜视频| 91视频免费观看| 99精品一区二区三区| 成人永久aaa| 国产成人激情av| 国产成人综合亚洲网站| 国产在线精品国自产拍免费| 日本vs亚洲vs韩国一区三区 | 国产一区在线精品| 日本vs亚洲vs韩国一区三区 | 国产精品日日摸夜夜摸av| 精品国产sm最大网站免费看| 欧美精品1区2区3区| 欧美性大战久久久久久久蜜臀| 色吊一区二区三区| 欧洲精品一区二区| 日本韩国欧美国产| 在线观看免费视频综合| 91麻豆高清视频| 在线视频国内自拍亚洲视频| 在线观看国产一区二区| 欧美日韩一区二区三区四区| 欧美日韩高清不卡| 欧美精品日日鲁夜夜添| 91精品国产一区二区| 日韩一区二区三区在线视频| 日韩免费观看高清完整版在线观看| 欧美一区二区三区四区五区| 欧美一级免费大片| 精品国产一区二区三区久久久蜜月 | 中文字幕在线观看不卡视频| 中文字幕色av一区二区三区| 椎名由奈av一区二区三区| 亚洲欧美色一区| 性感美女久久精品| 久久精品噜噜噜成人88aⅴ| 国内精品第一页| a美女胸又www黄视频久久| 色偷偷一区二区三区| 欧美精品免费视频| 精品91自产拍在线观看一区| 国产欧美精品一区二区色综合| 国产精品三级av| 亚洲成人av一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 国产一区二区电影| 99vv1com这只有精品| 欧美日韩视频第一区| 精品少妇一区二区三区日产乱码 | 欧美精品久久99久久在免费线| 日韩欧美色综合网站| 日本一区二区久久| 一区二区三区四区激情| 美洲天堂一区二卡三卡四卡视频| 国产精品资源网站| 欧美影视一区在线| 久久久国产精品麻豆| 一区二区三区久久| 精一区二区三区| 91日韩一区二区三区| 欧美一级黄色录像| 亚洲视频免费观看| 麻豆精品久久久| 91老师国产黑色丝袜在线| 欧美成人伊人久久综合网| 亚洲美女在线一区| 国产精品原创巨作av| 欧美色图一区二区三区| 久久精品一区八戒影视| 亚洲成人激情自拍| av电影天堂一区二区在线| 日韩精品一区二区三区蜜臀| 一区二区三区美女视频| 国产成人自拍网| 日韩视频123| 亚洲午夜久久久久久久久久久| 国产不卡在线视频| 日韩欧美一区二区三区在线| 一区二区三区中文字幕精品精品 | 中文字幕+乱码+中文字幕一区| 亚洲国产成人porn| caoporn国产精品| 精品1区2区在线观看| 三级亚洲高清视频| 色婷婷av一区二区三区软件| 国产欧美日韩另类一区| 久久疯狂做爰流白浆xx| 欧美色窝79yyyycom| 亚洲欧美日韩精品久久久久| 国产91富婆露脸刺激对白| 精品福利在线导航| 免费观看一级特黄欧美大片| 欧美自拍偷拍午夜视频| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 久久精品国产精品青草| 555www色欧美视频| 一区二区三区欧美视频| av不卡免费在线观看| 中文字幕av免费专区久久| 国产福利一区在线观看| 久久久亚洲国产美女国产盗摄 | 欧美日本国产视频| 亚洲成人午夜电影| 精品1区2区3区| 亚洲风情在线资源站| 欧美三级中文字幕在线观看| 亚洲青青青在线视频| 91在线视频在线| 亚洲三级在线免费观看| 91浏览器入口在线观看| 一区二区在线观看免费视频播放| 91蜜桃婷婷狠狠久久综合9色| 国产欧美日本一区二区三区| 粉嫩蜜臀av国产精品网站| 中文字幕乱码日本亚洲一区二区 | 欧美在线观看禁18| 亚洲视频中文字幕| 色婷婷av一区二区| 亚洲v精品v日韩v欧美v专区| 777奇米成人网| 激情深爱一区二区| 国产日韩av一区二区| 99久久婷婷国产精品综合| 一区二区在线观看视频在线观看| 在线一区二区观看| 日av在线不卡| 国产三级精品在线| 91在线观看视频| 日韩电影一二三区| 日韩欧美三级在线| 成人激情免费视频| 尤物视频一区二区| 日韩小视频在线观看专区| 国产精品一二三在| 亚洲欧洲中文日韩久久av乱码| 欧美日韩在线播放一区| 久久国产精品第一页| 国产精品入口麻豆九色| 欧美日韩三级一区| 国产精品影视在线观看|