`
sarin
  • 浏览: 1756889 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
E3b14d1f-4cc5-37dd-b820-b6af951740bc
Spring数据库访问系列...
浏览量:173657
C2083dc5-6474-39e2-993e-263652d27795
Android学习笔记
浏览量:368120
5f40a095-b33c-3e8e-8891-606fcf3b8d27
iBatis开发详解
浏览量:189258
B272a31d-e7bd-3eff-8cc4-c0624ee75fee
Objective-C学习...
浏览量:99838
社区版块
存档分类
最新评论

Apache Pivot初体验(一)

阅读更多
    Apache已经将Pivot升级为顶级项目,虽然从前不知道这个项目,但是看来还是有发展前途的。我看好它,因为我对FLEX语法实在不感冒,还是Java写着舒服。似乎也很少有人用AWT/Swing做商业产品,但Applet的应用还是常见的。就研究研究Pivot吧。
    既然Apache将其定位为RIA in Java,做J2EE的还是关注下吧。这是纯Java血统的东西(相比于FLEX),下了开发包,看例子,语法类似Swing,还是比较容易接受的。但是官方例子中没有完整的目录结构,构建开发环境还是留下了一些障碍。可能是之前没有接触过。我自己摸索了一个适应web开发的目录结构,可能不是最好的,但是是可行的。如下:

    这里用了ANT进行jar打包,之前用Eclipse的导出打包不好用,就自己写了个ANT构建脚本运行,还真好用了。
    目录结构还是传统的web项目,不同的是webapp下也放置了lib,当然就是运行项目所需的lib库,如果放到WEB-INF/lib下,那页面是不能直接访问到的,而pivot程序是直接在页面显示调用类库的,就需要放到可见的位置。不过我是在WEB-INF/lib下也放置了一份,那里的在编译路径里的,这样不冲突,也为ANT构建省去来回设置类路径的麻烦。jar包也不大,基本的才1.29M,没有办法,谁让人家是RIA呢。
    先从Java Application开始吧,我是参照官方示例学习的。但是如果你刚下载开发包,估计得看上一阵子呢。其实很简单,就是一个类,一个XML配置文件(Pivot中是以wtkx作为扩展名的)。下面用代码来说明,更为直观。
package pivot.tutorials.hellowtkx;

import org.apache.pivot.collections.Map;
import org.apache.pivot.wtk.Application;
import org.apache.pivot.wtk.DesktopApplicationContext;
import org.apache.pivot.wtk.Display;
import org.apache.pivot.wtk.Window;
import org.apache.pivot.wtkx.WTKXSerializer;

public class HelloWTKX implements Application {
	private Window window = null;

	public void startup(Display display, Map<String, String> map)
			throws Exception {
		WTKXSerializer wtkxSerializer = new WTKXSerializer();
		window = (Window) wtkxSerializer.readObject(this, "helloWTKX.wtkx.xml");
		window.setTitle("Hello JavaEye");
		window.open(display);
	}

	public boolean shutdown(boolean optional) throws Exception {
		if (window != null) {
			window.close();
		}
		return false;
	}

	public void resume() throws Exception {
	}

	public void suspend() throws Exception {
	}

	public static void main(String[] args) {
		DesktopApplicationContext.main(HelloWTKX.class, args);
	}

}

官方示例中配置文件都以XXX.wtkx形式存在,其实就是XML文档,我就直接以.xml来编辑,这样在Eclipse中可以高亮显示,否则就是普通文本编辑了。配置文件的编写参考官方示例就行了。我还加上了的XML声明。
<?xml version="1.0" encoding="UTF-8" ?>
<Window title="Hello WTKX" maximized="true"
xmlns:wtkx="ttp://pivot.apache.org/wtkx" 
xmlns="org.apache.pivot.wtk">
	<content>
		<Label text="Hello JavaEye! - The Pivot WTKX Application"
			styles="{font:'Arial bold 24',color:'#ff0000',
horizontalAlignment:'center',verticalAlignment:'center'}" />
	</content>
</Window>

    基本的Pivot应用程序都是实现了Application接口,自然也要实现其中的抽象方法。从方法名启动,关闭,唤醒和挂起不难看出这是进程的状态转化方法。负责继承状态改变时的处理。主函数就是Pivot应用程序的执行方式,这都是固定的写法了,传入本类的class和主函数的参数。
    类中定义一个私有属性window,就是Pivot应用程序的窗口对象,在startup方法中进行进程加载启动时的事情。WTKXSerializer类在官方文档中解释为“从XML中加载对象层次结构”,可以看出类似于MXML,控件的定义都是写在配置文件中的。只不过这个XML编码时IDE还不能给出提示。我想是Schema还没有最后固定,编码时只能按照已有定义来编写。程序就可以解析XML了。wtkxSerializer对象读取XML配置文件,并从中获取window实例(window是根元素)。中间可以是业务流程的处理。这里是对window的title进行了设置,编码风格很像Swing。最后一步是window的open()方法,传入display参数。在shutdown()方法中别忘记关闭window就可以了。
    此时程序就可以以Application方式运行了。得到效果:

    第一部分介绍到此结束,第二部分中将介绍Web应用中的Pivot部署和用ANT构建自定义jar包。
    本文系作者本人的探索实践,如有不妥,还望大家指正。
(未完待续)
  • 大小: 22.6 KB
  • 大小: 10.1 KB
7
0
分享到:
评论
3 楼 jacki6 2010-06-22  
不错 支持原创
2 楼 sarin 2010-02-15  
nisen 写道
非常棒,支持。

呵呵,欢迎交流!
1 楼 nisen 2010-02-12  
非常棒,支持。

引用
似乎也很少有人用AWT/Swing做商业产品

确实不多,国内用的最多的就是永中了。我觉得jre太大是一个大的因素。因为按照jre的再次发布协议不能更改其中的任何内容。

相关推荐

    pivot-wtk-skin-terra-2.0.1-build001.zip

    标题"Pivot-WTK-Skin-Terra-2.0.1-build001.zip"提示我们这是一个与Apache Pivot相关的皮肤包,版本为2.0.1的build001。Apache Pivot是一个开源的用户界面开发框架,它允许开发者创建富客户端应用,支持多种平台。...

    pivot_130_beta2_full_thumb3hr_pivot_php_

    "pivot_130_beta2_full_thumb3hr_pivot_php_" 这个标题提到了一个软件版本,"pivot 130 beta2 full version",这表明我们在讨论的是 Pivot 软件的第 130 版本的 Beta 2(测试版2)。"full version" 指的是这个版本是...

    搜集的Pivot例子

    Pivot,通常指的是数据透视表或数据透视图,是一种强大的数据分析工具,用于汇总、组织、分析和展示大量数据。在IT行业中,特别是数据分析和数据可视化领域,Pivot扮演着至关重要的角色。它允许用户通过拖放操作来...

    SQL Server 关于Pivot详解

    这个 Pivot 语句将成绩表转化为一个透视表,其中每一行代表一个学生,每一列代表一个课程号,单元格中的值为该学生在该课程的成绩。 实验题目 1. 使用 Pivot 语句将成绩表转化为透视表,显示每个学生的平均成绩。 ...

    PowerPivot 入门手册_giantu54_PowerPivot_

    PowerPivot是一款由Microsoft开发的强大数据分析工具,它整合在Excel和SharePoint中,为用户提供了高级的数据分析和建模功能。作为一个入门手册,本书将帮助初学者理解和掌握PowerPivot的核心概念和操作,从而在日常...

    asp.net 实现Pivot表

    在IT行业中,Pivot表(也称为数据透视表)是一种强大的数据分析工具,它允许用户对大量数据进行快速的汇总和分析。在ASP.NET框架下,我们可以利用多种技术来实现Pivot表的功能,以便在Web应用中展示数据的聚合和转换...

    Oracle行转列之pivot

    1. pivot_clause:定义了被聚合的列,PIVOT是一种聚合操作。 2. pivot_for_clause:定义了被分组和转换的列。 3. pivot_in_clause:定义了pivot_for_clause子句中列的过滤器,用于指定哪些列值将被用作结果集中的列...

    PowerPivot for Excel 帮助

    PowerPivot for Excel 是微软公司推出的一款增强型数据模型工具,它与Excel紧密集成,使得用户能够从各种数据源中获取数据、创建数据分析模型,并在Excel内部进行数据探索和报告。PowerPivot扩展了传统Excel的功能,...

    Gauss_pivot.zip_gausspivot_matlab pivot_pivot_pivot of gauss_高斯p

    在本文中,我们将深入探讨高斯列主元消去法(Gauss Pivot)以及如何在MATLAB环境中实现这一算法来解决线性方程组。高斯列主元消去法是一种数值线性代数方法,它通过一系列行变换将系数矩阵转化为上三角形或阶梯形...

    pivot4.1.13

    pivot4.1.13作为该领域的一款工具,它包含了多个关键功能和特性,旨在提升用户的创作体验。 首先,让我们深入了解一下pivot软件的核心特点: 1. **直观的用户界面**:pivot4.1.13提供了清晰直观的图形界面,使得...

    pivot神通汉化版

    总的来说,"pivot神通汉化版"是一款极具实用性和创新性的火柴人动画制作工具,它以其强大的功能和友好的用户体验,为动画爱好者提供了一个自由发挥创意的平台。无论你是动画新手还是有一定经验的制作者,都能在这个...

    Excel Power Pivot数据建模分析(进阶篇)资料.zip

    《Excel Power Pivot数据建模分析(进阶篇)》是一份深入探讨Excel数据分析技术的资料集,主要聚焦在Power Pivot工具的应用,旨在帮助用户提升在数据处理和分析方面的专业技能。该资料集涵盖了一系列关键知识点,...

    PowerPivot的数据分析

    标题《PowerPivot的数据分析》所涵盖的知识点主要围绕Microsoft Excel 2010中的PowerPivot工具,这是微软为数据分析师提供的一个强大的数据建模工具,用以增强Excel的数据分析功能。从内容概览可以看出,本书全面地...

    Microsoft Excel 2013 Building Data Models with PowerPivot示例文件

    PowerPivot是一款强大的数据分析工具,允许用户处理和分析大量数据,创建复杂的计算以及交互式的数据透视表。这个压缩包包含的章节为13至16,涵盖了PowerPivot的核心概念和高级应用。 在Chapter13中,主要介绍了...

    pivot火柴人制作工具

    "pivot火柴人制作工具"是一款专为动画爱好者设计的软件,主要用于创建火柴人风格的动态动画。这款工具以其简单易用的特性,尤其适合初学者和那些想要快速制作简单动画的人。与传统的动画软件如Adobe Flash相比,...

    创建PowerPivot工作簿

    通过以上详述,我们可以看到,PowerPivot for Excel 不仅是一个数据管理工具,更是一个强大的数据分析平台,它极大地扩展了Excel在大数据处理和复杂分析方面的能力,使用户能够在无需专业IT支持的情况下,独立完成从...

    pivot4 火柴人动画制作软件

    pivot4,最新的pivot,是一款简单易上手的火柴人动画软件,相对以往的pivot3来说,增加了许多新的功能

    pivot d3 的源代码

    "pivot d3" 是一个基于数据操作和可视化技术的库,它结合了Pivot Table(透视表)的功能和D3.js的数据驱动可视化库。Pivot Table是一种数据分析工具,用于汇总、组织和展示大量数据,而D3.js则是一个强大的...

    深入探讨SQL Server 2008 R2 -PowerPivot

    在 SharePoint 场中,PowerPivot for SharePoint 添加了服务器端应用程序和功能,支持对您发布PowerPivot指的是一组应用程序和服务,它们为使用Excel和SharePoint来创建和共享商业智能提供了端到端的解决方案。...

    Pivot3神通汉化版

    此外,"Pivot3神通汉化版"还包含了一些增强插件,例如"Pivot3增强插件.exe",这些插件可以扩展软件的功能,如增加更多的图形元素、提高渲染质量等,进一步提升你的创作体验。 在实际使用过程中,你可能会遇到各种...

Global site tag (gtag.js) - Google Analytics