2011-12-02 5 views
1

안녕하세요 저는 흰색을 제외하고는 다른 색상을 사용해야하는 콤보 박스의 배경을 설정하고 렌더링하는 동안 사용자가 항목을 선택하면 클릭하면 어떻게 synth를 사용하여이를 달성합니까 ??Styling Combobox with Java Synth를 사용하여

미리 감사드립니다.

+0

이 솔루션은 그래서 목록에 대한 스타일을 추가 ... 콤보 상자 변경해야 그게 문제 때문에 그것의 내부 일을 표시 목록을 사용한다는 사실 뒤에 오는했다 : < 스타일 ID = "스타일"> <불투명 값 = "TRUE"/> <색값 = "WHITE"TYPE = "TEXT_FOREGROUND"/> <색값 = "RED"TYPE = "TEXT_BACKGROUND"/> <상태 값 = '선택'> <색값 = "RED"TYPE = "TEXT_FOREGROUND"/> <색값 = "WHITE"TYPE = "TEXT_BACKGROUND"/> <바인드 스타일 = " – sstauross

+1

ypu는 자신의 질문에 대답하고 받아 들일 수 있습니다 :-) – kleopatra

+0

시스템은 "newbie"라고 말하기 때문에 저를 그렇게 할 수 없습니다 .. :(그리고 오직 8 시간 후 나는 그것을 할 수 있지만 내 질문에 대답하기 위해 기다릴 수 없었다 : P – sstauross

답변

0

이 솔루션은 콤보 상자 변경해야 그게 문제 때문에 그것의 내부 일을 표시 목록을 사용한다는 사실 후 온 ... 그래서 내가 그랬어 :

<style id="style"> 
<opaque value="TRUE"/> 

<state> 
    <color value="WHITE" type="TEXT_FOREGROUND"/> 
    <color value="RED" type="TEXT_BACKGROUND"/> 
    <color value="RED" type="BACKGROUND"/> 
</state> 
<state value="SELECTED"> 
    <color value="RED" type="TEXT_FOREGROUND"/> 
    <color value="WHITE" type="TEXT_BACKGROUND"/> 
</state> 

`

2

실제로 발견 목록 속성만으로는 원하는 호버링 효과를 만들지 못했습니다. 이전 답변의 코드를 시도했지만 엘리먼트 위에 마우스를 올렸을 때 텍스트 색 (전체 셀의 색이 아님) 만 변경할 수있었습니다. 기본적으로 ("Metal"에서) JComboBox 목록은 전체 셀에 강조를 적용합니다. 시험판 오류를 통해 "ComboBox.listRenderer"스타일링과 "List"스타일링의 다음 조합이 해당 기본 효과를 사용할 수 있음을 발견했습니다. 예를 들어, 목록에는 황갈색 배경, 검정색 텍스트 및 마우스로 가리키는 하이라이트가 있습니다.

<style id="ComboBoxListRenderer"> 
    <opaque value="true"/> 
    <state> 
      <color type="TEXT_FOREGROUND" value="BLACK" /> 
    </state> 
</style> 
<bind style="ComboBoxListRenderer" type="name" key="ComboBox.listRenderer"/> 

<style id="ListStyle"> 
    <opaque value="true" /> 
    <insets top="0" left="0" bottom ="0" right="0" /> 
    <state> 
    <color type="BACKGROUND" value="#E0CEB0" /> 
    <color type="TEXT_BACKGROUND" value="#666666" /> 
    </state>