我在 XML 文件中为JComboBox
组件定义了一种样式,但状态 PRESSED 和 MOUSE_OVER 在任何时候都不做任何事情。
<style id="comboBoxStyle">
<state> <!-- Normal state for combo box -->
<color value="#9DA5B4" type="TEXT_FOREGROUND"/>
<imagePainter method="comboBoxBackground" path="images/combobox.png" sourceInsets="2 2 2 2"/>
</state>
<state value="DISABLED"> <!-- Disabled state for combo box -->
<color value="#6B717D" type="TEXT_FOREGROUND"/>
<imagePainter method="comboBoxBackground" path="images/combobox_disabled.png" sourceInsets="2 2 2 2"/>
</state>
<state value="PRESSED"> <!-- Pressed state for combo box -->
<color value="#DBDBDB" type="TEXT_FOREGROUND"/>
<imagePainter method="comboBoxBackground" path="images/combobox_pressed.png" sourceInsets="2 2 2 2"/>
</state>
<state value="MOUSE_OVER"> <!-- Hovered state for combo box -->
<color value="#DBDBDB" type="TEXT_FOREGROUND"/>
<imagePainter method="comboBoxBackground" path="images/combobox_hovered.png" sourceInsets="2 2 2 2"/>
</state>
</style>
<bind style="comboBoxStyle" type="region" key="ComboBox"/>
这是因为它们不应该 - 在SynthComboBoxUI
它确定状态时,只返回 ENABLED、DISABLED 或 FOCUSED。
所以我的问题是——我怎样才能使组合框的状态实际上可以是 PRESSED 和 MOUSE_OVER,从而使 XML 文件中定义的状态起作用?
我真的不知道从哪里开始,我在互联网上找不到任何有用的东西,所以任何帮助将不胜感激。