快速业务通道

高级Synth:有了最新的Swing外观,定制UI不在话下 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
)负责 剩下的工作。

paintCenter :该属性允许您保留或者舍弃图像的中间区域(例如在一个按 钮中)。在这个例子中,textfield舍弃了中间区域,以便显示文本。

使用图像画边框的最后一步是加大默认的 insets,以便处理用来画这些 insets 的图像。如果没有更改 insets,那么就看不见任何图像。您需要添加一 个 <insets>标签来增加 insets,以便在其中画出图像。在大多数情况下 ,insets 的值应该与在图像中使用的 insets 的值相同。

清单 4 展示了用于装载图像的 XML 代码。注意 sourceInsets如何确保图像 只有适当的部分被拉伸。

清单 4. 装载图像

<style id="textfield"> <opaque value="true"/> <state> <font name="Aharoni" size="14"/> <color value="#D2DFF2" type="BACKGROUND"/> <color value="#000000" type="TEXT_FOREGROUND"/> </state> <imagePainter method="textFieldBorder" path="images/textfield.png" sourceInsets="4 6 4 6" paintCenter="false"/> <insets top="4" left="6" bottom="4" right="6"/> </style> <bind style="textfield" type="region" key="TextField"/>

高级Synth:有了最新的Swing外观,定制UI不在话下(5)

时间:2011-09-07 ibm Michael Abernethy

处理不同的状态

从前面的例子可以看到,<state>标签是定义一个组件的焦点所在。在 清单 3和清单 4中,color 和 font 标签都处在 <state>标签内。现在我 将解释 <state>标签的作用。

默认状态是在 <state>标签中没有指定属性,这对于定义文本域和 label 中的颜色和字体已经足够了,因为这两种组件的状态不会改变。但是在那 些状态会改变的组件中(例如按钮),可以为每种状态定义完全不同的外观。每 种状态可以有它自己的颜色、字体和图像。您可以比较登录屏幕中 Cancel按钮 在默认状态(图 4)和 mouse-over 状态(图 5)下的不同。

图 4. DEFAULT 状态下的 Cancel 按钮

Default 状态

图 5. MOUSE_OVER 状态 下的 Cancel 按钮

Mouse over 状态

高级Synth:有了最新的Swing外观,定制UI不在话下(6)

时间:2011-09-07 ibm Michael Abernethy

<state>标签只需要一个 value属性,该属性定义了实际的组件状态。 如果没有指定 value,如清单 3 和 4 所示,那么每种状态都使用默认值。如果 指定 value属性,那么可以选择 ENABLED、MOUSE_OVER、PRESSED、DISABLED、 FOCUSED、SELECTED和 DEFAULT。这些选择包含 Swing 中任何组件所有可能的状 态。您还可以在不同选择间添加 and来组合各种状态。例如,如果您想在鼠标位 于按钮之上以及按钮被按下的时候改变按钮上的字体,那么可以使用状态值 MOUSE_OVER and PRESSED。

清单 5 展示了用于处理 demo 应用程序状态的 XML。注意每种状态是如何定 义不同的图像和文本颜色的。

清单 5. 处理状态

<style id="button"> <state> <imagePainter method="buttonBackground" path="images/button.png" sourceInsets="9 10 9 12" paintCenter="true" stretch="true"/> <insets top="9" left="10" bottom="9" right="12"/> <font name="Aharoni" size="16"/> <color type="TEXT_FOREGROUND" value="#FFFFFF"/> &l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号