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

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

?? tutorialdemo.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.tutorial;

import java.util.*;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import demo.DemoPane;

import twaver.*;
import twaver.network.*;
import twaver.network.ui.*;
import twaver.tree.*;

public class TutorialDemo  extends DemoPane {
	
    private TDataBox box = new TDataBox("Tutorial Demo");
    private TNetwork network;
    private TTree tree;
    private JPanel networkPane = new JPanel(new BorderLayout());
    private JPanel treePane = new JPanel(new BorderLayout());

    public TutorialDemo() {
        JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treePane, networkPane);
        split.setDividerLocation(150);
        this.add(split, BorderLayout.CENTER);
        
        step1();
        step2();
        step3();
        step4();
        step5();
        step6();
        step7();
        step8();
        step9();
    }

    private void step1() {
        //1.create the network component.
        network = new TNetwork(box);

        //2.add the network into specified container
        networkPane.add(network, BorderLayout.CENTER);

        //3.add some elements(business objects) into the data box
        Node nodeA = new Node("A");
        nodeA.setName("I'm node A!");
        nodeA.setLocation(50, 50);
        box.addElement(nodeA); //add into box.

        Node nodeB = new Node("B");
        nodeB.setName("I'm node B!");
        nodeB.setLocation(200, 200);
        box.addElement(nodeB); //add into box.

        Link link = new Link("link", nodeA, nodeB);
        link.setName("Telephone Line");
        box.addElement(link); //add into box.
    }

    private void step2() {
        //1. add some dummy elements to group the data with easy understanding hierarchy
        Dummy nodeDummy = new Dummy("node dummy");
        nodeDummy.setName("All Nodes");
        nodeDummy.addChild(box.getElementByID("A"));
        nodeDummy.addChild(box.getElementByID("B"));
        box.addElement(nodeDummy);

        Dummy linkDummy = new Dummy("link dummy");
        linkDummy.setName("All Links");
        linkDummy.addChild(box.getElementByID("link"));
        box.addElement(linkDummy);

        //2. create the tree component.
        tree = new TTree(box);
        
        //3. add the tree to frame.
        JScrollPane scroll = new JScrollPane(tree);
        treePane.add(scroll, BorderLayout.CENTER);
    }

    private void step3() {
        //1.add chassis to node A.
        Node node = (Node) box.getElementByID("A");
        Chassis chassis = new Chassis("Chassis A");
        chassis.setName("Chassis");
        node.addChild(chassis);
        box.addElement(chassis);
        
        //2.add rack to chassis.
        Rack rack = new Rack("Rack A");
        rack.setName("Rack");
        rack.setLocation(50, 50);
        rack.setImage("/demo/resource/tutorial/rack.png");
        chassis.addChild(rack);
        box.addElement(rack);
        
        //3.add ports to rack.
        String imgPort1 = "/demo/resource/tutorial/port1.png";
        String imgPort2 = "/demo/resource/tutorial/port2.png";
        for (int module = 0; module < 4; module++) {
            Dummy dummy = new Dummy("PortDummy" + module);
            dummy.setName("module" + module);
            rack.addChild(dummy);
            box.addElement(dummy);
            for (int index = 0; index < 4; index++) {
                Port port = new Port(module + ":" + index);
                int x, y;
                if (module % 2 == 0) {
                    x = 210 + index * 24;
                } else {
                    x = 319 + index * 24;
                }
                if (module < 2) {
                    y = 16;
                    port.setImage(imgPort1);
                } else {
                    y = 37;
                    port.setImage(imgPort2);
                }
                x += rack.getLocation().x;
                y += rack.getLocation().y;
                port.setLocation(new Point(x, y));
                dummy.addChild(port);
                box.addElement(port);
            }
        }
    }

    private void step4() {
        //Create a pop-up menu factory to use throughout the application.
        PopupMenuFactory popupMenuFactory = new PopupMenuFactory() {
            /**
             * Add the identifier of each of the selected objects to the menu.
             * In this example, the items added to the menu do nothing.
             * In a real application, you would probably associate an
             * implementation of the Swing Action interface with each menu item.
             */
            public JPopupMenu getPopupMenu(DataBoxSelectionModel selectionModel,Point p) {
                //Create an empty pop-up menu.
                JPopupMenu popMenu = new JPopupMenu();
                //If the selectedObjects collection is empty, no objects are selected.
                if (selectionModel.isEmpty()) {
                    popMenu.add("Nothing selected");
                } else {
                    //Access the selected objects from the selection model.
                    Iterator it = selectionModel.selection();
                    while (it.hasNext()) {
                        Element element = (Element) it.next();
                        popMenu.add(element.getName());
                    }
                }
                //If menu is empty, return null.
                if (popMenu.getComponentCount() == 0) {
                    return null;
                } else {
                    return popMenu;
                }
            }
        };
        //Set the pop-up menu factory for network components
        network.setPopupMenuFactory(popupMenuFactory);
    }

    private void step5() {
    	network.addElementDoubleClickedActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                Element element = (Element)e.getSource();
                JOptionPane.showMessageDialog(network, "You clicked '" + element.getName() + "'");	
              
			}
    	});
    	network.addBackgroundDoubleClickedActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e) {
                JOptionPane.showMessageDialog(network, "You clicked nothing.");	
			}
    	});
    }

    private void step6() {
        //create a selection listener.
        DataBoxSelectionListener listener = new DataBoxSelectionListener() {
            public void selectionChanged(DataBoxSelectionEvent e) {
                //get the last selected element and make it visible.
                Element element = e.getBoxSelectionModel().lastElement();
                if (element != null) {
                    network.ensureVisible(element);
                }
            }

            public void currentSubNetworkChanged(DataBoxSelectionEvent e) {}
        };
        box.getSelectionModel().addBoxSelectionListener(listener);
    }

    private void step7() {
        //new ant set a summing propagator to the data source,
        //this will make the box propagate alarms to it's parent.
        box.setAlarmPropagator(new SummingAlarmPropagator());

        //get a port in the equipment rack.
        Port nodeA = (Port) box.getElementByID("0:0");
        AlarmState alarmState = nodeA.getAlarmState();
        //add an acknowledged alarm with critical severity.
        alarmState.addAcknowledgedAlarm(AlarmSeverity.CRITICAL);
        //add an new alarm with major severity.
        alarmState.addNewAlarm(AlarmSeverity.MAJOR);

        //get another port.
        Port nodeB = (Port) box.getElementByID("3:3");
        alarmState = nodeB.getAlarmState();
        //add 10 new alarm with critical minor.
        alarmState.increaseNewAlarm(AlarmSeverity.MINOR, 10);
    }

    private void step8() {
        //put a "document" icon on element B.
        Element element = box.getElementByID("A");
        String iconName = "document";
        element.putClientProperty("StateIcon:" + iconName, Boolean.TRUE);

        IconAttachmentHolder.addAttachment("myState", "/demo/resource/tutorial/myIcon.png");
        element.putClientProperty(TWaverConst.ELEMENT_STATE_ICON_PREFIX + "myState", Boolean.TRUE);
    }

    private void step9() {
        //get the link element.
        Element element = box.getElementByID("link");
        //make the link animating flowing
        element.putClientProperty("link.flowing", Boolean.TRUE);
        //set the link flowing color
        element.putClientProperty("link.flowing.color", Color.black);
        //set the link outline color
        element.putClientProperty("link.outline.color", Color.black);
        //set the link body color.
        element.putClientProperty("link.color", Color.white);
        //set the link lable font and color
        element.putClientProperty("label.font", new Font("Impact", 1, 20));
        element.putClientProperty("label.color", Color.MAGENTA);
        
    }

	public String getTitle() {
		return "Tutorial Demo";
	}

	public String getHelp() {
		return "This demo teachs you to create a simple application step by step.";
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线观看一二区| 亚洲精品国产无天堂网2021 | 亚洲男人的天堂av| 色婷婷av一区| 奇米色777欧美一区二区| 久久免费的精品国产v∧| heyzo一本久久综合| 日韩av电影天堂| 国产欧美一二三区| 日韩一级黄色大片| 欧美图区在线视频| 丁香六月久久综合狠狠色| 丝袜亚洲另类欧美| 亚洲一区二区视频在线观看| 国产精品久久久久久福利一牛影视| 欧美群妇大交群中文字幕| 91久久免费观看| 91在线云播放| 91福利视频在线| 一本久久a久久免费精品不卡| 成人久久视频在线观看| 国产成人午夜视频| 国产麻豆一精品一av一免费| 久久精品99国产精品| 免费精品视频最新在线| 日日夜夜一区二区| 精品一区二区国语对白| 精品在线亚洲视频| 国产高清不卡一区| 懂色av一区二区夜夜嗨| av在线不卡电影| 在线观看免费视频综合| 51久久夜色精品国产麻豆| 日韩一级精品视频在线观看| 欧美va在线播放| 国产精品欧美综合在线| 亚洲影视资源网| 国产精品538一区二区在线| 99久久99久久精品免费观看 | 欧美色区777第一页| 日韩一区二区不卡| 18欧美乱大交hd1984| 日本午夜一本久久久综合| 国产一区91精品张津瑜| 99久久综合国产精品| 欧美一级欧美三级在线观看| 国产亚洲欧美日韩俺去了| 亚洲国产精品综合小说图片区| 理论电影国产精品| 欧美性欧美巨大黑白大战| 久久综合色综合88| 亚洲成人激情综合网| 顶级嫩模精品视频在线看| 欧美手机在线视频| 成人免费一区二区三区视频| 美女任你摸久久| 国产风韵犹存在线视精品| 51精品视频一区二区三区| 亚洲激情欧美激情| 亚洲精品国产无天堂网2021| 亚洲一级电影视频| 欧美吞精做爰啪啪高潮| 亚洲精品大片www| 99久久精品免费看国产| 国产精品女人毛片| 91丝袜美女网| 一区二区三区不卡视频| 91在线视频播放地址| 一区二区中文字幕在线| 色哟哟亚洲精品| 天堂va蜜桃一区二区三区 | 激情久久五月天| 亚洲精品一区二区三区影院 | 日本成人在线视频网站| 91浏览器打开| 婷婷久久综合九色国产成人| 欧美一区二区大片| 国产·精品毛片| 一区二区三区蜜桃| 日韩一区二区在线观看视频播放| 激情另类小说区图片区视频区| 国产人成亚洲第一网站在线播放| 国产不卡视频一区二区三区| 一区二区三区国产精华| 精品成人在线观看| 日本道精品一区二区三区| 激情欧美一区二区三区在线观看| 亚洲国产成人自拍| 日韩欧美激情一区| 91国在线观看| 国产精品羞羞答答xxdd| 亚洲电影在线播放| 亚洲美女偷拍久久| 国产精品天干天干在观线| 91精品国产乱码| 欧美婷婷六月丁香综合色| 国产精品综合久久| 日韩黄色免费网站| 亚洲在线视频免费观看| 亚洲欧美日韩国产综合在线| 精品国产亚洲在线| 欧美日韩亚洲综合一区二区三区| 成人美女视频在线观看| 国产精品一区二区男女羞羞无遮挡| 亚洲线精品一区二区三区| 1000部国产精品成人观看| 久久久久久久电影| 国产欧美精品区一区二区三区 | www.欧美日韩国产在线| 国产精品1024| av毛片久久久久**hd| 99精品久久99久久久久| 欧洲亚洲精品在线| 成人一区二区三区中文字幕| 看国产成人h片视频| 国产凹凸在线观看一区二区| 国产精品亚洲а∨天堂免在线| 丰满白嫩尤物一区二区| 91在线云播放| 日韩午夜精品视频| 国产精品日日摸夜夜摸av| 亚洲精品欧美专区| 免费在线观看视频一区| 国产成人福利片| 91成人看片片| 亚洲精品在线三区| 亚洲综合在线视频| 九一久久久久久| 欧美日韩国产一级二级| 国产日韩欧美制服另类| 亚洲一区在线观看免费观看电影高清| 午夜私人影院久久久久| 处破女av一区二区| 日韩精品一区二区三区中文不卡| 国产精品九色蝌蚪自拍| 激情国产一区二区| 欧美日韩一区二区在线观看视频| 国产性色一区二区| 另类小说一区二区三区| 在线视频观看一区| 亚洲欧美一区二区视频| 久久爱另类一区二区小说| 欧美亚洲综合一区| 亚洲免费三区一区二区| 国产成人免费视频一区| 欧美不卡视频一区| 日本91福利区| 欧美成人乱码一区二区三区| 天天综合天天做天天综合| 91成人在线精品| 亚洲国产精品久久不卡毛片 | 亚洲欧美色一区| 色狠狠av一区二区三区| 亚洲一区二区在线视频| 欧美综合天天夜夜久久| 亚洲成人免费av| 69久久99精品久久久久婷婷| 日韩精品乱码免费| 日韩一二在线观看| 成人永久免费视频| 亚洲免费在线观看视频| 欧美撒尿777hd撒尿| 免费不卡在线观看| 中文字幕 久热精品 视频在线 | 国产福利不卡视频| 亚洲欧美另类久久久精品2019| 欧美视频精品在线| 国产一区二区三区观看| 国产精品久久久久毛片软件| 精品视频1区2区3区| 国产一区二区三区久久悠悠色av| 国产精品视频免费| 欧美性受xxxx| 不卡的电视剧免费网站有什么| 亚洲第一搞黄网站| 国产精品国产三级国产有无不卡| 91国在线观看| 91小视频在线| 国产精品99久久久久久久女警| 欧美高清hd18日本| 成人网男人的天堂| 国产精品综合一区二区三区| 亚洲成人一二三| 亚洲精品欧美专区| 中文字幕制服丝袜一区二区三区 | 色女孩综合影院| 福利一区二区在线| 国产黄色精品视频| 国产精品 日产精品 欧美精品| 婷婷久久综合九色国产成人| 一区二区三区四区高清精品免费观看 | 老鸭窝一区二区久久精品| 亚洲激情男女视频| 一区二区三区中文在线观看| 国产精品久久国产精麻豆99网站| 日韩欧美第一区| 26uuu另类欧美亚洲曰本| 欧美mv日韩mv| 久久久不卡网国产精品二区| 久久久噜噜噜久久人人看|