高级Synth:有了最新的Swing外观,定制UI不在话下 - 编程入门网
)负责 剩下的工作。
paintCenter :该属性允许您保留或者舍弃图像的中间区域(例如在一个按 钮中)。在这个例子中,textfield舍弃了中间区域,以便显示文本。 使用图像画边框的最后一步是加大默认的 insets,以便处理用来画这些 insets 的图像。如果没有更改 insets,那么就看不见任何图像。您需要添加一 个 <insets>标签来增加 insets,以便在其中画出图像。在大多数情况下 ,insets 的值应该与在图像中使用的 insets 的值相同。 清单 4 展示了用于装载图像的 XML 代码。注意 sourceInsets如何确保图像 只有适当的部分被拉伸。 清单 4. 装载图像
高级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 按钮 图 5. MOUSE_OVER 状态 下的 Cancel 按钮 高级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. 处理状态
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |