TWaver学习之Node篇

Node学习篇

 

1.         使用API创建Node

Node node = new Node();

TDataBox   box =  new  TDataBox();

Box.addElement(node);

//设置节点位置

node.setLocation(100,100);

node.setImage(“node.gif”);

l  Node图标:

Node 默认图标是 ,如果要让其无图标,使用TWaverConst.BLANK_IMAGE,如果要画一个无图片的节点类,使用TUIManager.registerWithoutImage(Class  elementClass);

l  Node大小:

默认情况下,node的大小是它默认图片的大小。如果要更改大小则要覆盖它的getHeight()getWidth()方法。

 

Node node = new Node(){

         Public  int  getHeight(){

                   return 50;

         }

         Public int  getWidth(){

                   Return 50;

         }

};

 

 

l  设置Node名称:

 

 

node.setName(“This is a Node!”);

//使用不同font来给node命名

node.putLabelFont(new Font(“Forte”,Font.ITALIC,20));

//更改标签颜色

node.putLabelColor(Color.cyan);

//设置标签可见

node.putLableVisible(true);

//加粗

node.putLableBorder(true);

  

2.         使用XML来创建节点

TDataBox  box = new TDataBox();

box.parse(“node.xml”);

创建xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<Java version="1.4.2_01" class="Java.beans.XMLDecoder">

<object class="TWaver.Node">

<void method="putClientProperty">

<string>label.border</string>

<boolean>true</boolean>

</void>

<void method="putClientProperty">

<string>label.color</string>

<object class="Java.awt.Color">

<int>255</int>

<int>0</int>

<int>0</int>

<int>255</int>

</object>

</void>

<void method="putClientProperty">

<string>label.font</string>

<object class="Java.awt.Font">

<string>Forte</string>

<int>1</int>

<int>30</int>

</object>

</void>

<void property="location">

<object class="Java.awt.Point">

<int>310</int>

<int>285</int>

</object>

</void>

<void property="name">

<string>This is my name</string>

</void>

<void property="selected">

<boolean>true</boolean>

</void>

<void property="toolTipText">

<string>This is my tip!</string>

</void>

</object>

</Java> 

 

 

 

 

 

 

 

 

 

3.   使用ShapeNode元素

常用的变形节点元素种类:

l  SHAPENODE_STRAIGHT_LINE:直角线变形节点

l  SHAPENODE_ELLIPSE:椭圆变形节点

l  SHAPENODE_ROUND:圆变形节点元素

l  SHAPENODE_NONE:空节点元素

创建直角线的多边形节点:

TDataBox box =new TDataBox();

TNetwork network=new TNetwork(box);

ShapeNode bus=new ShapeNode();

box.addElement(bus);

bus.addPoint(new Point(40,200));

for(int i=1;i<=10;i++){

Node node=new Node();

node.setName("Server_"+i);

node.setLocation(50*i,100+200*(i%2));

box.addElement(node);

box.addElement(new Link(bus,node));

}

bus.addPoint(new Point(540,200));

//设置直角线形状的变形节点

bus.setShapeNodeType(TWaverConst.SHAPENODE_ORTHOGONAL_LINE);

//设置节点类型为接近点

bus.putShapeNodeJointPoint(TWaverConst.JOINT_POINT_NEAR);

 

 

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: TWaver是一款Java图形库,可以用于开发网络拓扑图和数据可视化应用。如果你想要实现雷达扫描效果,可以通过TWaver提供的动画效果来实现。 首先,你需要创建一个自定义的元素,并且在该元素上添加一个动画效果。代码示例如下: ``` public class RadarElement extends BasicShapeNode { private float angle = 0; public RadarElement() { setWidth(50); setHeight(50); setBorderColor(Color.RED); setBorderWidth(2); setFillColor(new Color(0, 0, 0, 0)); setAnchorPoint(0.5, 0.5); setShapeType(ShapeType.ROUND_RECTANGLE); // 添加动画效果 addAnimation(new Animation() { @Override protected void apply(long time) { angle += 2; if (angle > 360) { angle = 0; } setRotation(angle); } }); } } ``` 在该元素中,我们实现了一个旋转的动画效果,并且将该元素的形状设置为圆角矩形。接下来,我们需要将该元素添加到TWaver的拓扑图上,并且设置该元素的位置。 ``` RadarElement radar = new RadarElement(); radar.setLocation(100, 100); topoBox.addElement(radar); ``` 最后,我们需要实现一个定时器,用于触发动画效果。代码示例如下: ``` Timer timer = new Timer(50, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { topoBox.repaint(); } }); timer.start(); ``` 在定时器的回调函数中,我们只需要调用拓扑图的repaint方法,就可以触发动画效果了。运行程序后,你将会看到一个旋转的圆角矩形,就像雷达扫描一样。 ### 回答2: TWaver动画之雷达扫描效果是一种常见的视觉效果,主要用于展现雷达扫描的过程。该效果通常通过在一个圆形区域内旋转的线条或光束来模拟雷达扫描的动态效果。 该效果的实现通常包括以下几个步骤: 首先,在界面上创建一个圆形区域,这个圆形区域通常表示雷达扫描的范围。可以设置圆形区域的颜色和边框样式,以便与界面整体风格协调。 其次,在这个圆形区域内创建一个线条或光束,用于模拟雷达扫描的效果。可以设置线条或光束的起始位置、方向、颜色等属性。可以通过旋转或平移线条或光束,使其模拟雷达扫描过程中的动态效果。 然后,可以通过设置定时器或动画效果,在一定的时间间隔内不断地更新线条或光束的位置或角度,从而实现雷达扫描效果的连续动画播放。 最后,可以根据实际需求,对动画效果进行调整和优化。可以设置动画的速度、循环次数等参数,以及添加适当的缓动效果,使动画更加流畅和自然。 总的来说,TWaver动画之雷达扫描效果是一种通过线条或光束的旋转或平移来模拟雷达扫描过程的动态效果。该效果可以直观地展现雷达扫描的范围和方向,为用户提供更好的交互体验。 ### 回答3: TWaver动画库是一个强大的前端动画库,提供了许多种各样的动画效果,包括雷达扫描效果。 雷达扫描效果是一种常见的动画效果,常用于展示扫描范围或者探测周围的目标。具体实现雷达扫描效果的步骤如下: 首先,我们需要一个圆形的容器,作为雷达扫描的范围。可以使用TWaver动画库提供的画布组件来实现。 接下来,我们需要定义一个扫描线,用于模拟雷达扫描。可以使用TWaver动画库提供的线条组件,并设置其起点和终点,使其呈现从圆心向外扩散的效果。 然后,通过设置扫描线的长度、颜色和透明度等属性,可以调整雷达扫描的效果。 最后,我们可以使用TWaver动画库提供的定时器功能,不断改变扫描线的起点和终点,以达到连续扫描的效果。可以通过计算扫描线的角度和半径,并使用三角函数来实现扫描线的动态变化。 总结来说,使用TWaver动画库实现雷达扫描效果的步骤包括创建圆形容器、定义扫描线、设置扫描线的属性和动态变化,并使用定时器来实现连续扫描的效果。通过灵活调整属性和动画参数,可以实现不同类型的雷达扫描效果,为用户提供更好的体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值