TWaver图形界面之道(三)TWaver产品家族

接上篇:TWaver图形界面之道(二)TWaver介绍

TWaver产品家族

TWaver Java

TWaver Java是TWaver产品家族中历史最悠久、功能最强大、应用最广泛的一个分支。TWaver Java基于Java 2D和Java Swing技术,相比于JS、Flex、Silverlight、HTML5这些现在热门的Web前段技术,关注Java Swing技术的越来越少,但从技术的成熟性和运行效率考虑,不太在乎Web化,那么TWaver Java将是最佳选择,因为Java版本是目前TWaver所有产品分支中运行效率最高的,而且Java具有良好的跨平台支持,也可以嵌入到网页中,部署和发布都很方便。

TWaver Web

Web 2.0的时代,程序Web化大势所趋,即使是相对保守的企业级应用,也追求全面的Web化,于是TWaver Web孕育而生。最早我们将TWaver Java界面输出VML图形(那时候IE一统天下),后来改用了更加标准化的SVG方案,转换的工作充满着挑战,但当我们将所有TWaver Java的demo输出,效果不分伯仲时,我们知道一切努力都是值得的。后台输出图形,前台JavaScript交互,动态请求图形数据,更新界面,这些正是TWaver Web的设计思想和运行模式。

TWaver Flex

TWaver Web解决了大量客户的需求,但技术在发展,RIA(Rich Internet Application)开始流行,Adobe Flex是RIA的主流技术,TWaver团队与时俱进,积极寻求Flex解决方案。

Flex使用MXML和ActionScript语言开发,ActionScript源于动态脚本语言,兼具动态语言和静态语言的特性,发展到Flex2,其实际使用已经很接近Java,因此,有了Java和JavaScript的基础,学习Flex变得容易,经过两年的研发,TWaver Flex产品诞生,成为客户最为关注的产品分支。

TWaver .NET

RIA的另一种解决方案是Silverlight,Java阵营的最大竞争者是.NET阵营,所以.NET成为一块不得不重视的蛋糕。TWaver Flex开发的同时,我们也在对.NET以及Silverlight技术预言,预言的结果令团队大受鼓舞:Silverlight与Flex有着惊人的相似性。于是在TWaver Flex正式发布不久,TWaver .NET也开始提供试用版本,TWaver .NET完全依照TWaver Flex的设计模式和命名,甚至示例也是完全照搬,软件世界殊途同归真是件大好事,让同一种思想在多个平台落地开花,带来了更多选择。

当然,TWaver .NET并非简单的Copy,它有自己的特点,TWaver .NET分两个版本:TWaver .NET for WPF、TWaver .NET for Silverlight,两者共用大部分代码,另外的那部分通过预处理条件加以区分,TWaver .NET以Silverlight为标准兼容WPF代码。相比Flex版本,.NET版本中使用更多C#高级语言特性,泛型、get/set、委托、事件、Lambda表达式等等,此外.NET版本有很高的运行效率,是Flex版本的两倍以上,这也说明了平台移植的重要性。

各种编程语言和UI技术

不同的编程语言有不同的特性,适用于不同的应用场景,有各自的特点:有的性能高,有的跨平台,有的适合Web应用,下面介绍各种编程语言和UI技术的特点和适用场景:

Java

Java程序适合企业桌面应用,成熟稳定,跨平台,也能嵌入浏览器(虽然Applet显得笨重了点),Java是面向对象的编程语言,简单易学,拥有众多的熟练的程序开发人员的支持;

Swing

Java最早的图形界面技术是AWT,AWT依赖原生平台,AWT控件由本地操作系统对应的控件生成,不同操作系统下效果完全不同,这违背了Java跨平台支持的初衷,于是就有了Swing技术。Swing完全由Java写成,具有良好的设计模式,支持切换LookAndFeel改变程序外观,是Java基础类库的一部分,是主要的Java GUI工具包,TWaver Java基于Swing技术;

JavaScript

JavaScript技术适合Web应用环境,JavaScript语言很灵活,快速开发,无需编译,直接运行与调试,一个熟练的JavaScript程序员可以随心所欲的编写代码,但这也带来JavaScript代码难以维护的问题,JavaScript语言入门容易,精通难,TWaver Web前端交互使用JavaScript+SVG+HTML技术,TWaver HTML5使用JavaScript + HTML5技术;

SVG

SVG是一种文本矢量图形标准,全称:Scalable Vector Graphics,可伸缩矢量图像,SVG本身是XML格式,可与脚本语言(如JavaScript)混合使用,这种XML与JS的混用方式,被后来的Flex,WPF与Silverlight承袭,后者是现在新潮的UI技术,而前者(SVG)则是十多年前的产物,这点也说明了SVG设计的强大,目前大多数浏览器都已支持SVG,TWaver Web使用SVG呈现拓扑图界面;

Flex

Flex是Flash发展的产物,Flash是一种制作动画的技术,采用了场景,画布,帧,时间线的设计,这些与窗体,按钮,表格这样的标准控件格格不入,Flex的发展很有趣,最早是一种J2EE的应用,JSP标签库,将MXML和ActionScript脚本动态的编译成Flash文件,在浏览器中呈现,这个时期的Flex还是做动画,到后来界面上需要标准控件,于是就出现了按钮,面板,窗体等等,加上前后台通讯,数据传输,最后成了富客户端应用的完整解决方案。Flex界面延续了Flash的图形绘制基础,Flex程序与普通的Flash文件不同,Flex只有两帧,第一帧是启动界面,第二帧是程序界面,此后程序按第二帧的频率(默认是24帧每秒)启动定时器,周期性的重绘,也就是Flex组件的无效-生效周期;

.NET Framework

.NET Framework是微软公司的一个软件框架,主要运行于Windows操作系统,它包含一个通用语言运行器(Common Language Runtime,简称CLR)和大量的类库(Framework Class Library,简称FCL),支持多种编程语言,C#,VB.NET,VC++.NET等等;

C#

C#是微软公司专门针对.NET框架而设计的编程语言,它借鉴了其他编程语言,尤其是Java语言,通常我们认为C#是一种面向对象的编程语言,事实也确实如此,准确的说C#是一种多范型的编程语言,包括强类型式,命令式,声明式,函数式,泛型,面向对象和面向组件的编程方式,TWaver .NET可以使用C#语言开发;

WPF

全称:Windows Presentation Foundation,为Windows软件提供用户界面的一种图形软件系统,自.NET Framework 3.0被引入。相比旧的GDI系统,WPF使用了DirectX硬件加速,渲染效率得以提高,此外WPF采用XML配置和代码编写结合的编程方式,这点与Flex相似,WPF是.NET Framework推荐使用的主流界面系统技术;

Silverlight

Silverlight是一种运行于浏览器上的客户端技术,与Flash技术相似,支持多种操作系统,多种浏览器,多种设备。Silverlight是简化版的.NET,或者说是简化版的WPF,它包含一个核心呈现框架(WPF的一个子集),.NET框架中的Silverlight部分 (.NET 框架的一个子集),安装器和更新器;

HTML5

HTML5是第五版的HTML标准,相比HTML4,增加了一些新的标签,比如<canvas><audio><video>等,此外还提供了更多API,比如Canvas 2D API,拖拽支持,跨文档消息,本地存储,WebSocket等。当然并不是所有这些特性都被浏览器支持,不同浏览器支持程度也有所不同,HTML5技术要求更现代的浏览器,IE9+,Safari,Chrome,Firefox,Opera…….IE6,7,8可以考虑安装chrome frame插件。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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动画库实现雷达扫描效果的步骤包括创建圆容器、定义扫描线、设置扫描线的属性和动态变化,并使用定时器来实现连续扫描的效果。通过灵活调整属性和动画参数,可以实现不同类型的雷达扫描效果,为用户提供更好的体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值