java swing 图层_用Swing制作精美的图层叠加图

本文通过实例展示了如何使用TWaver Java库创建复杂的图层叠加效果,包括网络图层、背景层、顶层、工具条层等,详细解释了各层的实现方法和效果。同时,还介绍了在ScrollPanel中进行组件叠加的技术,如相框层和蒙版层,以及动画效果的实现。
摘要由CSDN通过智能技术生成

在TWaver的各个使用手册,文档和Demo中我们可以看到,TWaver提供了Layer的概念,就是图层,这与一些制图软件也有几分相似。在实际应用中也是比较的多。比如TWaver的Demo中有TWaver水印的字样,就是通过使用的TWaver层,将带有水印文字的图层自于最上方并不可选中。

下面我们再通过一个实际的例子具体来看看TWaver Layer的叠加效果,先上最终效果图:

226c40cec7c8ed3ae8c3818f48d219d6.png

这是一个使用TWaver Java制作的自动布局的例子,有人能看得出这里使用了多少个图层合并而成的吗?

呵呵,我们先来看看整体的一个布局:首先frame中添加了一个LayeroutPanel,panel中放了一个network,network中间部分是用于存放网元,连线,右半部分是scrollPanel

3b72079f5f42054ba4da12e35a50eb2f.png

一.    Network的叠加

我们先来看看中间这个network的图层是如何叠加的

1.阴影层首先是在network的Cushion上添加了一个网元阴影层,cushion在TWaver的定义中是处于所有图层之下的一层。

4f1150b881333f12a311ae9ef34da474.pngnetwork.addCanvasCushion(newShadowCushion(this));

02da2f390113a6d6fc783fc412d5964a.png

阴影也可以这样添加。

2.网元层

在默认图层上添加布局的网元

1

4f1150b881333f12a311ae9ef34da474.pngthis.cloud=this.createNode("/demo/layout/images/cloud.png");24f1150b881333f12a311ae9ef34da474.pngthis.center1=this.createNode("/demo/layout/images/center.png");34f1150b881333f12a311ae9ef34da474.pngthis.center2=this.createNode("/demo/layout/images/center.png");44f1150b881333f12a311ae9ef34da474.pngthis.gather1=this.createNode("/demo/layout/images/gather.png");54f1150b881333f12a311ae9ef34da474.pngthis.gather2=this.createNode("/demo/layout/images/gather.png");64f1150b881333f12a311ae9ef34da474.pngthis.router1=this.createNode("/demo/layout/images/router1.png",0,"Router 1");74f1150b881333f12a311ae9ef34da474.pngthis.router2=this.createNode("/demo/layout/images/router2.png",1,"Router 2");84f1150b881333f12a311ae9ef34da474.pngthis.server1=this.createNode("/demo/layout/images/pc.png",2,"Spring Layout");94f1150b881333f12a311ae9ef34da474.pngthis.server2=this.createNode("/demo/layout/images/pc.png",3,"Office Network");104f1150b881333f12a311ae9ef34da474.pngthis.server3=this.createNode("/demo/layout/images/pc.png",4,"US Map");114f1150b881333f12a311ae9ef34da474.pngthis.client1=this.createNode("/demo/layout/images/pc.png",5,"Bar Chart");124f1150b881333f12a311ae9ef34da474.pngthis.client2=this.createNode("/demo/layout/images/pc.png",6,"Tag Cloud");134f1150b881333f12a311ae9ef34da474.pngthis.client3=this.createNode("/demo/layout/images/pc.png",7,"Bus Layout");144f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather1, client1);154f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather1, client2);164f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather1, client3);174f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather2, server1);184f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather2, server2);194f1150b881333f12a311ae9ef34da474.pngthis.createLink(gather2, server3);204f1150b881333f12a311ae9ef34da474.pngthis.createLink(cloud, center1);214f1150b881333f12a311ae9ef34da474.pngthis.createLink(cloud, center2);224f1150b881333f12a311ae9ef34da474.pngthis.createLink(router1, center1);234f1150b881333f12a311ae9ef34da474.pngthis.createLink(router2, center2);24<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值