更改JComboBox colourms如何?

时间:2014-06-27 19:40:08

标签: java swing jcombobox

我想更改所选组合框的颜色。 我不知道这个事件的名称。 它不是背景或前景,那么呢? 更多关于图像:

http://i.stack.imgur.com/hNIM3.png

2 个答案:

答案 0 :(得分:2)

渲染器适用于下拉列表中的项目。

当索引值为-1时,同样的渲染器也用于渲染组合框中显示的值。但是,背景颜色由UI控制,因此您无法覆盖它。

UIManager.getColor("ComboBox.selectionBackground");

属性用于控制背景,因此您具有一致的LAF,指示组合框何时具有焦点。我不知道控制这种行为的任何简单方法。您需要编写一个自定义UI,根据所选值设置背景。

答案 1 :(得分:0)

您必须为组合框编写新的渲染器。这里有一些很好的例子:http://www.java2s.com/Code/Java/Swing-JFC/AfancyexampleofJComboBoxwithacustomrendererandeditor.htm

具体来说,您将编写一个新的Cell Renderer。这里有一个很好的教程:http://www.java2s.com/Tutorial/Java/0240__Swing/Comboboxcellrenderer.htm

我希望有所帮助。

格雷格