?? persistencedemo.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[])";
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -