I'm customizing my LAF using Synth and now I'm working on the ComboBox which really confuses me. I looked into ComponentProperties Table and found ComboBox.listRenderer
property which specifies a renderer for the JComboBox's list. Problem is I don't know how to bind my own renderer to it. I've found some previous answers like:
<style id="ComboBoxListRenderer">
<opaque value="true"/>
<state>
<color type="TEXT_FOREGROUND" value="BLACK" />
</state>
</style>
<bind style="ComboBoxListRenderer" type="name" key="ComboBox.listRenderer"/>
This does work, but it only changes the default SynthComboBoxRenderer
's behavior, and I can't bind my own renderer class ui.MyComboBoxRenderer
to it. I've also tried
<style id="comboBox">
...
<object id="ComboBoxListRenderer" class="ui.MyComboBoxListRenderer"/>
<property key="ComboBox.listRenderer" type="idref" value="ComboBoxListRenderer"/>
...
</style>
<bind style="comboBox" type="region" key="ComboBox"/>
Sadly, this time nothing happens at all. Any idea how I can apply a custom renderer to all of the ComboBoxes? Thanks.