写点什么

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

评论

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

【Web安全】刚开始学渗透,零基础怎么入门?

网络安全学海

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

云原生安全,会有一个较大的潜在市场丨统信软件孟杰

统信软件

云原生 安全 数字化

热点面试题:JS 如何判断一个元素是否在可视区域内?

沉浸式趣谈

JavaScript 面试 前端面试题 元素状态

首战字节被算法惨虐,复盘一个月再战字节成功拿下T3-1,

Java 数据结构 面试 算法

Nautilus Chain 现已推出测试网“Triton ”,有哪些潜在的机会?

鳄鱼视界

12306系统架构:抢票引起的对大型高并发系统架构的思考

软件测试/测试开发丨测试右移之logstash完整配置实例

测试人

软件测试 自动化测试 测试开发

【网易易盾】网易易盾性能测试自动化建设

网易云信

自动化测试 自动化运维

ViewFlipper的基本使用

芯动大师

android ViewFlipper 翻转

H2 存储内核解析

陈飞

分布式事务 微服务架构 分布式数据库 分布式缓存 数据库内核

Orillusion正式公测开启,这份指南请收好!

Orillusion

开源 Web WebGL 渲染引擎 webgpu

加速发展的低代码市场

力软低代码开发平台

安全防火墙软件:Little Snitch 5 激活版

真大的脸盆

Mac 防火墙 Mac 软件 防火墙工具

3分钟快速了解GPT-4

Baihai IDP

人工智能 自然语言处理 AI ChatGPT GPT-4

百度阳泉智算中心全面升级 支持文心一言大规模智能算力需求

极客天地

软件测试/测试开发丨测试左移之Sonarqube maven项目分析

测试人

软件测试 自动化测试 测试开发 SonarQube 测试左移

API接口自动化测试框架搭建之需求整理、详细设计和框架设计

自动化测试 unittest 接口测试 API 测试框架

阿里云弹性计算张献涛:计算巢,助力软件公司向软件服务公司转型

云布道师

云计算 阿里云

信创即时通讯-WorkPlus即时通讯软件支持国产化信创环境

BeeWorks

GPT-4 重磅发布,用户直呼:强得离谱

引迈信息

GPT-3 ChatGPT GPT-4

云加速,前所未见的游戏网络体验

安第斯智能云

云计算 网络 游戏 云存储 智能云

飞桨携手登临解读软硬一体技术优势,共推AI产业应用落地

飞桨PaddlePaddle

硬件 硬件产品 飞桨 软硬一体

三天吃透操作系统面试八股文

程序员大彬

Java 面试 操作系统

架构训练营六-电商业务微服务拆分

白杨

【网易易盾】网易易盾性能测试自动化建设

网易智企

自动化测试 自动化运维

太厉害了!这是我见过最好的SpringMVC源码分析

Java 源码 Spring MVC

2023年会声会影最新版本六大新功能

茶色酒

会声会影2023

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