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

📄 persistencedemo.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.databox;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.Rectangle;
import java.util.Iterator;

import twaver.AlarmSeverity;
import twaver.Card;import twaver.Link;
import twaver.Node;
import twaver.PersistenceManager;
import twaver.TDataBox;
import twaver.TWaverConst;import twaver.TWaverUtil;
import twaver.background.Background;
import twaver.base.Direction;import twaver.base.LinkType;
import twaver.network.TNetwork;
import demo.DemoPane;

public class PersistenceDemo extends DemoPane {
    TDataBox box1 = new TDataBox();
    TNetwork network1 = new TNetwork(box1);
    TNetwork network2 = new TNetwork();
    TNetwork network3 = new TNetwork();

    public PersistenceDemo() {
    	this.initBox1();
    	this.initBox2();
    	this.initBox3();
    	
        this.setLayout(new GridLayout(3, 1));
        this.add(network1, null);
        this.add(network2, null);
        this.add(network3, null);
        
        setBackground(network1, "Create By API");
        setBackground(network2, "Create By XML");
        setBackground(network3, "Create By Serialization");
        
    }

    private void initBox1(){    	
        Iterator it = AlarmSeverity.getAllSeverity().iterator();
        int x = 80;
        Node node = null;
        int i = 0;
        while(it.hasNext()){
        	i++;
        	Node lastNode = node;
        	// add node
        	AlarmSeverity severity = (AlarmSeverity)it.next();
        	node = new Node();
			node.setName(severity.getDisplayName());

        	node.setLocation(x, 50);
        	node.getAlarmState().addNewAlarm(severity);
        	box1.addElement(node);
        	
        	// add link
        	if(lastNode != null){
        		Link link = new Link(lastNode, node);
        		link.getAlarmState().addNewAlarm(severity);
                link.setType(LinkType.ELECTRICAL);
                link.putClientProperty("link.flowing",Boolean.TRUE);
                link.putClientProperty("link.flowing.color",Color.black);
                link.putClientProperty("link.color",Color.white);
        		box1.addElement(link);
        	}
        	lastNode = node;
        	x += 120;
        }	       
    }
    
    private void initBox2(){
		try {
			TDataBox box2 = new TDataBox();
			String data = PersistenceManager.writeByXML(box1, true);
	    	PersistenceManager.readByXML(box2, data, null);
	    	network2.setDataBox(box2);
	    	
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
    
    
    private void initBox3(){
		try {
			byte[] data = PersistenceManager.writeByBinary(box1, true);
			TDataBox box3 = PersistenceManager.readByBinary(true, data);
	    	network3.setDataBox(box3);
			
		} catch (Exception e) {
			e.printStackTrace();
		}
    }
    
    private void setBackground(TNetwork network, final String text){
        network.setNetworkBackground(new Background(){
			public void paint(Graphics g, double zoom, Rectangle viewportRect) {
		        //fill the whole view port area with this color.
				g.setColor(Color.WHITE);
		        g.fillRect(0, 0, (int) viewportRect.getWidth(), (int) viewportRect.getHeight());
		        // draw text
                g.setColor(new Color(0, 0, 51));
                g.setFont(TWaverUtil.getFont(Font.BOLD, 18));
                g.drawString(text, 300, 20);
			}
			public Dimension getBackgroundSize() {
				return null;
			}
        });
    }
    
    
	public String getTitle() {
		return "Persistence Demo";
	}

	public String getHelp() {
		return "This demo shows how to persistence a box by xml(string) and serialization(byte[])";
	}

}

⌨️ 快捷键说明

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