2012-02-03 41 views
1

我正在创建Swing应用程序并使用Synth L设计样式。当我启用合成器L &时,组合框箭头按钮变得不可见(我相信,默认背景被应用)。如果我点击一个箭头按钮的地方,它的行为如预期 - 显示选择列表。 我试图表现出来,但我无法找到正确的结合被应用到该按钮:合成器中的组合框箭头按钮的样式

<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"/> 

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

感谢

回答

1

正确的绑定:

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

到目前为止,我还没有找到如何使用颜色和各国风格的组合框箭头按钮,但预定义的形象工程,并充分满足我的需要:

<imagePainter method="arrowButtonBackground" path="/controls/combobox_arrow_button.jpg" sourceInsets="8 8 8 8"/>