写点什么

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:002304

评论

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

工具分享-通过开源工具 tuning-primer快速巡检MySQL5.7

GreatSQL

当当网商品详情API响应数据解析

tbapi

当当网API 当当网数据采集 当当网商品详情API

「迁移急救包」全云平台无缝迁移云效实操手册

阿里云云效

阿里云 云原生 云效

2025大语言模型部署实战指南:个人笔记本到企业级服务的全栈方案

测试人

前瞻与回顾:长期个性化对话代理的反射式记忆管理技术

qife122

强化学习 对话系统

亚马逊商品详情API开发指南

tbapi

亚马逊API 亚马逊商品详情API 亚马逊数据接口

ARM物联网漏洞利用实验室在Blackhat USA 2017首次亮相

qife122

ARM漏洞利用 二进制漏洞开发

哈尔滨等保测评:为城市数字化筑牢安全根基

等保测评

北京理工大学医工交叉教学实践分享(2)|如何利用知识图谱工具实施教学

ModelWhale

知识图谱 AI教育 北京理工大学

告别缓存击穿!Go 语言中的防并发神器:singleflight 包深度解析

左诗右码

a+b=c,处理器一步搞定,Java虚拟机为啥要四步?

poemyang

Java虚拟机

MoveIt Transfer漏洞引发更多受害者数据泄露,联邦机构也未能幸免

qife122

网络安全 数据泄露

如何安装CST的Linux版本

思茂信息

cst CST软件 CST Studio Suite

阿里云联合信通院发布《面向LLM应用的可观测性能力要求》

阿里巴巴云原生

阿里云 云原生 LLM

告别人工误差与效率瓶颈:智能仓储助力烟草企业实现精益化管理

中烟创新

区块链U卡APP外包的项目管理

北京木奇移动技术有限公司

软件外包公司 web3开发 区块链外包

李锦记 x 赛博威 | 共酿调味品行业营销费用管理新典范

赛博威科技

营销费用管理 赛博威 李锦记

Apache RocketMQ for AI 战略升级,开启 AI MQ 新时代

阿里巴巴云原生

阿里云 AI 云原生 Apache RocketMQ

SILENTTRINITY最新部署指南:现代C2框架快速搭建

qife122

渗透测试 红队工具

哈尔滨三级等保测评:关键信息系统的坚固铠甲

等保测评

区块链U卡APP外包开发成本

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

民航领域数据分类分级怎么做?|《民航领域数据分类分级要求》标准解读

原点安全

大数据-57 Kafka 高级特性 Producer 消息发送流程与核心配置详解

武子康

Java 大数据 kafka 分布式 后端

Web3 项目外包开发成本估算方法

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

中烟创新BI数据大屏赋能烟草专卖和营销,激活烟草企业数据生产力

中烟创新

2025年国内智能锁十大品牌排名分析

新消费日报

「迁移急救包」全云平台无缝迁移云效实操手册

阿里巴巴云原生

阿里云 云原生 云效

大庆等保测评:助力企业数字化转型行稳致远

等保测评

区块链U卡APP外包开发

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

构建 AI 护城河的六大常见误区分析

Baihai IDP

人工智能 AI LLM 人工智能护城河

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