1

我正在创建 Swing 应用程序并使用 Synth L&F 对其进行样式设置。当我启用 Synth L&F 时,组合框箭头按钮变得不可见(我相信,应用了默认背景)。如果我单击箭头按钮所在的位置,它会按预期运行 - 显示选项列表。我正在尝试显示它,但找不到要应用于此按钮的正确绑定:

<style id="arrowStyle">
    <state value="DEFAULT">
        <insets top="4" left="15" bottom="4" right="4"/>
        <color value="RED" type="BACKGROUND"/>
        <color value="RED" type="TEXT_BACKGROUND"/>
        <color value="GREEN" type="TEXT_FOREGROUND"/>
    </state>
    <state value="ENABLED">
        <insets top="4" left="15" bottom="4" right="4"/>
        <color value="RED" type="BACKGROUND"/>
        <color value="RED" type="TEXT_BACKGROUND"/>
        <color value="GREEN" type="TEXT_FOREGROUND"/>
    </state>
    <state value="PRESSED">
        <insets top="4" left="15" bottom="4" right="4"/>
        <color value="RED" type="BACKGROUND"/>
        <color value="RED" type="TEXT_BACKGROUND"/>
        <color value="GREEN" type="TEXT_FOREGROUND"/>
    </state>
    <state value="SELECTED">
        <insets top="4" left="15" bottom="4" right="4"/>
        <color value="RED" type="BACKGROUND"/>
        <color value="RED" type="TEXT_BACKGROUND"/>
        <color value="GREEN" type="TEXT_FOREGROUND"/>
    </state>
</style>
<bind style="arrowStyle" type="name" key="ComboBox.arrowButton"/>

如果我应用这种样式,按钮不会出现。我不知道问题出在哪里 - 我使用的是正确的状态吗?颜色类型?捆绑?

谢谢

4

1 回答 1

1

正确绑定:

  <bind style="arrowButton" key="ComboBox.arrowButton" type="name"/>

到目前为止,我还没有找到如何使用颜色和状态来设置组合框箭头按钮的样式,但是预定义的图像可以工作并且足以满足我的需要:

<imagePainter method="arrowButtonBackground" path="/controls/combobox_arrow_button.jpg" sourceInsets="8 8 8 8"/>
于 2012-02-07T13:03:21.690 回答