如何编写自定义Swing组件(上)

本文介绍了如何编写自定义的Swing组件,以Windows Vista Explorer中的View Slider为例,展示了组件的API、模型接口、UI Delegate的实现,并强调了组件、模型和UI Delegate在组件开发中的角色。通过组件类、模型接口和UI Delegate的详细说明,帮助开发者理解自定义Swing组件的创建过程和注意事项。
摘要由CSDN通过智能技术生成

本文纯属金山词霸产物,如果看不懂请参考英文原文

How to Write a Custom Swing Component


如何编写自定义Swing组件
by Kirill Grouchnikov
02/22/2007

当提到比较awt组件和swing组件的区别时, 首先被提到的就是Swing 是轻量级的(lightweight).确切的说其按钮、框架和菜单都没有使用本地化控制(native controls).所有组件包括渲染和事件处理都是靠纯java控制的。这给我们提供了很多方法去创建真正与平台无关的组件,而创建一个在所有平台上外观一致的自定义组件并非一件简单的事,这篇文章将演示如何创建自定义组件的过程并高亮显示重点、步骤和易犯的错误。

基础部分
Swing architecture overview这篇文章提供了非常优秀的swing结构和开发的高级概述(high-level overview)。虽然创建组件要遵循一些规则会略微有点麻烦,不过最终代码会更容易理解。它遵循”不重复发明轮子”的原则。最初你会想要把所有的东西都集中到一个类里,包括扩展API,模型处理(状态和通知),事务处理,布局和绘制。但是按照MVC (model-view-controller)结构将其划分为多个类可以让你的组件代码更容易理解,并且从长远来说更加容易扩展。
所有核心Swing组件的主要部分如下:

  • 组件(component)类本身,他负责提供创建、修改和查询组件状态的API
  • 模型接口和和模型接口的默认实现,它负责处理组件的业务逻辑和组件改变通知
  • UI delegate 负责处理组件布局,事件处理(鼠标和键盘事件)以及组件的绘制。

本文将配图展示创建一个自定义组件,类似WINDOWS Vista Explorer 中新的 view slider (如图1)。这个组件按看上去很像一个滑标嵌入一个pop-up menu。但他和常规的JSlider又有所不同,首先,它会含有关联标签(labels)和图标(i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值