stateui.java
来自「全面实现ilog地功能,没有使用第三方lib.」· Java 代码 · 共 62 行
JAVA
62 行
/*
* 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.customui;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Ellipse2D;
import twaver.ImageManager;
import twaver.Node;
import twaver.network.TNetwork;
import twaver.network.ui.NodeUI;
public class StateUI extends NodeUI {
public StateUI(TNetwork network, final Node node) {
super(network, node);
}
public void paintBody() {
super.paintBody();
Graphics2D g2 = (Graphics2D)this.getNetwork().getCanvasGraphics();
Boolean state = (Boolean)this.getElement().getClientProperty("equipment.state");
if (state != null && state.booleanValue()) {
g2.setColor(Color.darkGray);
Shape shape = ImageManager.getInstance().getImageShape(getNode().getImageURL());
Point location = getNode().getLocation();
AffineTransform at = AffineTransform.getTranslateInstance(location.getX(), location.getY());
shape = at.createTransformedShape(shape);
g2.fill(shape);
} else {
Integer value = (Integer)this.getElement().getClientProperty("equipment.value");
if (value != null) {
if (value.intValue() > 15) {
g2.setColor(Color.RED);
} else {
g2.setColor(Color.GREEN);
}
Point p = this.getElement().getLocation();
double r = 5;
double y = 61;
double x = 46;
double xOffset = 10;
double yOffset = -2.6;
g2.fill(new Ellipse2D.Double(p.x + x, p.y + y, r, r));
g2.fill(new Ellipse2D.Double(p.x + x + 1 * xOffset, p.y + y + 1 * yOffset, r, r));
g2.fill(new Ellipse2D.Double(p.x + x + 2 * xOffset, p.y + y + 2 * yOffset, r, r));
g2.fill(new Ellipse2D.Double(p.x + x + 3 * xOffset, p.y + y + 3 * yOffset, r, r));
g2.fill(new Ellipse2D.Double(p.x + x + 4 * xOffset, p.y + y + 4 * yOffset, r, r));
g2.fill(new Ellipse2D.Double(p.x + x + 5 * xOffset, p.y + y + 5 * yOffset, r, r));
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?