Java 拓扑图之设备面板图PortDemo

9 篇文章 0 订阅
6 篇文章 0 订阅
/**
 * 
 * @author Administrator
 * 
 */
public class PortDemo extends DemoPane {

	public static void main(String argv[]) {
		DemoUtil.show(new PortDemo());
	}

	BDataBox box = new BDataBox();
	BNetwork network = new BNetwork(box);

	public PortDemo() {
		init();
		this.setLayout(new BorderLayout());
		this.add(this.network, BorderLayout.CENTER);
	}

	void init() {
		BaseEquipment equipment = new BaseEquipment();
		equipment.setImage("/demo/databox/port/equipment.png");
		box.addElement(equipment);

		box.addElement(createText("OSM-4OC3-POS-SI", 60, 15));

		int count = 1;
		int x = 60;
		int y = 20;
		for (int row = 0; row < 2; row++) {
			for (int col = 0; col < 17; col++) {
				box.addElement(createPort(String.valueOf(count++), x + col * 70, y + row * 55));
			}
		}

		x = 60;
		y = 130;
		for (int index = 0; index < 2 * 17; index++) {
			box.addElement(createLed(x + index * 40, y));
		}
	}

	/**
	 * 
	 */
	Text createText(String str, int x, int y) {
		Text text = new Text(str);
		text.putLabelColor(Color.white);
		text.setDisplayName(str);
		text.setLocation(x, y);
		return text;
	}

	Port createPort(String displayName, int x, int y) {
		Port port = new Port();
		port.setDisplayName(displayName);
		port.setImage("/demo/databox/port/port.png");
		port.setLocation(x, y);
		port.putLabelColor(Color.white);
		port.getAlarmState().setNewAlarmCount(BladeUtil.getRandomSeverity(), BladeUtil.getRandomInt(20));
		return port;
	}

	Port createLed(int x, int y) {
		Port port = new Port();
		port.putCustomDraw(true);
		port.setSize(20, 20);
		port.setLocation(x, y);
		
		port.putCustomDrawFillColor(Color.green);
		if(BladeUtil.getRandomBool())
			port.putCustomDrawFillColor(Color.red);
		port.putCustomDrawOutline(false);
		port.putLabelColor(Color.white);
		port.setDisplayName("T/R");

		return port;
	}
}


Java 拓扑图之设备面板图PortDemo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值