Java中Synth外观学习(七)--List的定制

来源:互联网 发布:淘宝网led灯 编辑:程序博客网 时间:2024/05/19 19:55

上一篇里面提到ComboBox,不过Combox是个复合组件定制还比较麻烦。所以先看下List的定制。其实ComboBox组件中包含了一个List组件。

         照旧看下默认效果:



然后是应用了配置的效果:



为了凸显JList的边框,JPanel的颜色改了一下,颜色搭配噁心了,不要在意哈。颜色搭配的学问比较高深。最后把颜色会再修改一下。

这里主要看方法,XML中JList的配置如下:

<style id="basiclist">        <opaque value="TRUE" />        <property key="List.rendererUseListColors" type="Boolean" value="true"/>        <!-- 指定列表项的高度,默认为-1,但在设置时不能设置为-1,接受0. -->        <property key="List.cellHeight" type="Integer" value="30"/>        <!-- List好像只接受SELECTED状态,所以这里也可以不设置value属性值。 -->        <state>            <!-- 指定透明度这里有个变动,1.5版本时格式是#RRGGBBAA 1.7时变成#AARRGGBB -->            <color value="#0000FF" type="FOREGROUND"/>            <color value="#3EB4C0" type="BACKGROUND" />        </state>        <state value="SELECTED">            <color value="#FF0000" type="TEXT_FOREGROUND"/>            <color value="#64FFFF00" type="TEXT_BACKGROUND" />        </state>        <imagePainter method="listBorder" path="resources/images/textfield.png"                      sourceInsets="4 6 4 6" paintCenter="false"/>        <insets top="4" left="6" bottom="4" right="6"/>    </style>    <bind style="basiclist" type="region" key="list"/>

JList设置需要注意的是<property key="List.rendererUseListColors" type="Boolean" value="true"/> 这一句要有,不然颜色设置是不生效的。

还是比较容易看懂了,就不多解释了,<color value="#64FFFF00" type="TEXT_BACKGROUND" /> 注意这里的颜色值是 #64FFFF00 前面的64表示的是透明度。

这个地方在Java5和Java7版本之间有变化。

XML中还定义了JList的边框,使用的是和文本组件同一个边框图。










1 0