写点什么

Nimbus 外观:Java 的矢量用户界面

  • 2007-09-14
  • 本文字数:1177 字

    阅读完需:约 4 分钟

Nimbus 外观(Look-and-Feel,LAF)项目已经接近完工,Jasper Potts 在公布这条消息的同时还描述了该项目背后的多项技术,并提供了若干截图

Nimbus 中的所有控件均采用 2D 矢量图形描绘,甚至连图标也不例外。这意味着,尽管 Nimbus 仅有 56k 大小,但却能提供极为丰富的外观式样。

技术出众,潜力一样重要。近几个月来,支持适用于高 DPI(dot-per-inch,点每英寸)显示设备的分辨率无关的用户界面方案备受关注,Nimbus 在这一领域极具潜质。

尽管很多人都认为高 DPI 用户界面对高分辨率显示设备即将到来的进步极为重要,然而 Jeff Atwood认为,根据显示器分辨率的增长速率,200 DPI 的高清时代还很遥远。

要清醒的认识到在过去的 20 年中显示器的分辨率仅仅增长了不到两倍。显示器越来越大是不争的事实,但是,实际上分辨率却只增大了 1.6 倍。 除非技术上有重大突破,否则电脑显示器的分辨率在短短几年内是不可能达到 200 DPI 的,即便是十年后,这也很难做到。我很希望我的想法是错的,因为历史依据——更不用说常见的“越大越好”的消费者行为——证明这是势不可挡的。

Nimbus 的用户界面由Painter接口的无状态实现绘制。颜色、图标,以及字体均存储在 UIDefaults中(译注:一个 Hashtable 的扩展),这些设置可以被定制化或者被外观组件读取以适应 Nimbus 的界面风格。与此前的界面风格相比,Nimbus对 CPU/GPU 的占用更大一些,但运行速度依然很快。绘制器(Painters)都是借助一个新型可视化编辑器完成的:

这正是我们制作这个工具的目的,是为了使用户可以为控件的每个状态绘制 2D 矢量图,就像使用一个迷你的 Photoshop 或者 Illustrator 一样。这些绘制好的图形随后将被转译成 Java2D 代码,这样就可以被当作一个简单的绘制器使用了。它还支持一些更高级的功能,如:亚像素(sub- pixel)精确度、复杂渐变(gradient)、层(layer)、以及层特效(如投射阴影和光晕)。目前该工具尚未公开,但我们已经致力于使其开源化,实用化,这样用户就可以用它制作绘制器,并在应用程序中随意使用。 (译注:亚像素,构成象素的单色细小的点。显示器等显示装置通过对纵横有规则地排列的细小点(象素)的发色进行显示。象素由红色的点、绿色的点、蓝色的点这 3 种更为细小的点聚集着,通过它们各自颜色的增强衰弱以及 3 种颜色的组合表现出各种各样的颜色。把构成这些象素细小的单色的点称为辅助象素、副象素。)

第一个 Alpha 版本即将放出,更多消息敬请关注 InfoQ 的 Java 社区,以及 Java SE 主题

查看英文原文: Nimbus Look-and-Feel: Vector UIs for Java - - - - - -

译者简介:苏宇,网名 beanworms,软件工程师,开源项目 XRuby 成员。爱好广泛,尤喜烹饪。乐于寻找更好的解决问题的方法,目前对 Ruby 技术颇为着迷,个人 blog 为: http://azure-sky.javaeye.com/ 。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2007-09-14 01:002060

评论

发布
暂无评论
发现更多内容

利用wvs扫描网站发现一个页面,暴露了错误信息

喀拉峻

网络安全

2021年证券应用活跃度高速提升,用户粘性进一步释放

易观分析

证券市场

Jira组织架构管理哪家强?

龙智—DevSecOps解决方案

Jira组织架构管理 Jira组织架构 Jira插件

北纬科技三步走完成DevOps转型

阿里云云效

云计算 阿里云 DevOps 云原生 #运维

华为在MWC2022为全球开发者带来HMS创新工具,全面提升消费者体验

最新动态

学习黑客十余年,如何成为一名安全工程师?

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

cdr2022无需序列号和密钥 直接安装即可激活

茶色酒

cdr2022

合规性管理101:流程、规划和挑战

龙智—DevSecOps解决方案

合规性 合规性管理

物联网平台的基础概念

dgiot

最好用的 7 个 Vue Tree select 树形组件 - 卡拉云

蒋川

Vue Vue 3

如何提升专注力?

石云升

职场经验 2月月更 专注力

sparksql内核解析-读书笔记

聚变

开年上云,寻找“好云”推荐官——千元大奖等你赢

阿里云弹性计算

征文活动 玩转ECS

Web 键盘输入法应用开发指南(1) —— 基本概念

天择

JavaScript 键盘 输入法

数字化赋能三农 农行、邮储如何保“质”更保“智”?

CECBC

受Prometheus启发的开源日志工具:Loki

yuexin_tech

如何恢复MAC苹果电脑系统数据文件?

茶色酒

EasyRecovery15

元宇宙房地产演绎新“美国梦”

CECBC

比5G还快10倍,你准备好迎接万兆通信了吗?

脑极体

网络标准之:IANA定义的传输编码

程序那些事

Java 网络协议 nio 程序那些事 2月月更

面试突击26:如何正确停止线程?

王磊

面试

墨天轮国产数据库沙龙 | 张玮绚:TDengine,高性能、分布式、支持SQL的时序数据库

墨天轮

数据库 tdengine 国产数据库

电动汽车行业蓬勃发展,是时候关注电动汽车软件了

龙智—DevSecOps解决方案

电动汽车 电动汽车市场 电动汽车软件

水果最新FL Studio20.9.1汉化功能详解

茶色酒

Fl fl20.9

如何在 Vue 中加入图表 - Vue echarts 使用教程 - 卡拉云

蒋川

Vue Vue 3

最好用的 12 款 Vue Timepicker 时间日期选择器测评推荐 - 卡拉云

蒋川

Vue Vue 3

【C语言】判断语句以及分支语句《详细讲解》

謓泽

C语言 2月月更

亚信科技AntDB与华为鲲鹏完成产品互认证

亚信AntDB数据库

AntDB 华为鲲鹏

免费get | 版本控制软件全功能版

龙智—DevSecOps解决方案

perforce Perforce Helix Core 版本控制软件

加密货币使得俄罗斯更容易规避制裁

CECBC

5G时代的海洋之歌

脑极体

Nimbus外观:Java的矢量用户界面_Java_Geoffrey Wiseman_InfoQ精选文章