千家信息网

Java Swing实例分析

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,本篇内容主要讲解"Java Swing实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java Swing实例分析"吧!当Abacus Resear
千家信息网最后更新 2025年01月16日Java Swing实例分析

本篇内容主要讲解"Java Swing实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java Swing实例分析"吧!

当Abacus Research AG,一家商业软件开发公司,决定将开发平台从 Borland 的 Delphi 转向Java Swing时,它发现自己站在了软件开发的十字路口。

我们大量的应用程序开发团队拥有多年的Delphi GUI开发经验,却没有任何的Java Swing经验,并且我们需要在极短的时间内将大量的Delphi应用程序转换为Swing。在研究了当时可用的GUI工具后,我们觉得我们应该通过赞助一个GPL开源Java GUI编译器来达到自己的目标,而且这个编译器还可以帮助其他的应用程序开发者面对相同的挑战。

AbaGUIBuilder ,Abacus Java GUI编译器被设计用来实现轻松地从VB或Delphi开发转向Java Swing。这一策略帮助Abacus Research实现了其Java版应用程序的交付,缩短了开发时间,使其开发人员把精力投向商业应用,而不是Swing框架的错综复杂。

如图1所示,AbaGUIBuilder有能够在许多其他开发环境如VB和Delphi找到的要素。位于视窗左上角是活动对象树,其下是Swing组件选择区。位于视窗的中上部是开发面板,或者说是"画布",在这里放入Swing组件将其实例化。在右上部是属性编辑器。下部是事件面板,包括两个制表符页,分别是事件代码编辑器,为每个单独的可视对象添加事件代码,和消息面板,显示AbaGUIBuilder的状态消息。

Abacus GUI编译器

为什么做我们自己的GUI工具?

为什么我们选择写自己的工具?开始,我们决定我们的工具应该包括以下五个要求:
1. 容易使用
2.不需要布局管理器的使用经验
3. 不需要Swing的使用经验
4. 不需要输出Swing代码
5. 实现商业逻辑与UI的分离

我们在评估当时可用的GUI开发工具时发现好的IDE都是手写Swing代码,这就不符合我们的***个和最关键要求。

我们定义的容易使用是指任一开发者不管他/她的Java Swing经验,都具有在几分钟而不是几小时内开发一个可运行的GUI表单,因此就要是开发者的精力集中在商业逻辑上而不是框架的细节。一开始我们的开发者就需要所见即所得的环境,以便能够真实地感知当应用程序发布的时候的情况。这一功能的实现节省了开发者的大量时间。但当时我们评估的工具没有一个能够实现这个功能;设计的屏幕与输出的屏幕并不一样还有糟糕的调度算法,对我们来说简直就是巨大的倒退。AbaGUIBuilder通过预览模式来实现这一功能,你可以在开发时看到它运行起来的样子。

为什么Abacus Research要求UI和商业逻辑的分离?因为企业要处理不断变换的政府规则,例如税收和工资计算;我们需要在一个独立的包装模块里维护规则和公式时保持UI不变的能力,使得当公式改变时,应用程序JAR(UI)并不需要变化。因此只有改变的公式需要测试,使得发布的进程简单化。

为了满足这个需求,我们设计的GUI编译器将应用程序和事件汇编到一个应用程序JAR,JAR隐藏了所有的GUI Swing 代码并且通过一个renderer类(AdaRenderer)在运行时来执行应用程序。

Java Swing经验

为了确保开发工具能够做到真正的所见即所得,我们决定采用类似Delphi和VB中用XY坐标来定位的布局管理方式。采用这种方式,Swing JFrame就是一个画布,开发者可以将Swing组件放入JFrame的XY布局中。有了XY布局管理器,我们的开发者不需要理解Swing中并不熟悉的,复杂的布局管理器,这样我们的应用程序开发者就可以把精力集中到应用程序UI和它的商业逻辑中。

事实上,AbaGUIBuilder包含了大部分的Swing可视组件,从面板到制表符页,还有对菜单﹑菜单项,带有Java数据库连接的数据库感知组件,JFreeChart组件的支持,和导入第三方可视类库的能力。所有这些组件都可以从组件选择区拖入一个空框架来开发你的GUI应用程序。

到此,相信大家对"Java Swing实例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

开发 应用 程序 应用程序 开发者 组件 工具 商业 经验 代码 布局 编译器 编译 实例 事件 逻辑 面板 管理 实例分析 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门软件开发群 中国平安科技互联网公司简介 上海城市队伍管理软件开发 老人群体与互联网科技相关作文 俄勒冈服务器怎么样 软件开发的公司规模多大 校园网客户端和服务器不支持 计算机网络技术在日常的应用 公务员和软件开发哪个好 gmail 收件服务器ios 改革开放40周年网络安全 数据库技术和发展前景 群晖服务器显示回收站 鹏鼎控股校招软件开发怎么样 百人服务器生存我的世界 美网络安全参考体系架构 网络安全综合治理ppt 服务器挂了如何切换另一台 客服软件开发怎么做 华为网络安全hcia 数据库功能模块结构设计 网咖英雄联盟无法连接到服务器 数据库手机号字段名 安徽好的软件开发科技 高新区数据网络技术哪家好 葡萄酒数据库 大学论文联合对比数据库官网 和平精英在哪里看服务器的房间 北京新一代网络技术服务市场价 手机软件开发商会找流量提成吗
0