JComboBox更改背景颜色

问题描述

因此,我在彼此附近创建了comboBox和button。 目的是更改组合框的背景,使其与JButton中的背景相同。我为两个应用了相同的颜色,但这就是我得到的。不活动时,下拉列表和向下按钮的颜色为灰色。

enter image description here

当我单击组合框时,向下按钮的颜色和列表本身的背景将更改为所需的颜色。顶部固定元素变得更深灰色,但它是钢,没有预期的颜色。

enter image description here

这是一个绝对标准的组合框。这是我尝试配置的内容

import javax.swing.*;
import java.awt.*;

import static handler.Commands.COMMANDS_ARRAY;
import static java.awt.Color.WHITE;

public class MessageComboBox extends JComboBox {

    Dimension messageComboBoxDimension = new Dimension(242,32);

    public MessageComboBox() {
        setBackground(new Color(71,81,93));
        getEditor().getEditorComponent().setBackground(new Color(71,93));
        ((JTextField) this.getEditor().getEditorComponent()).setopaque(true);
        setModel(new DefaultComboBoxModel<>(COMMANDS_ARRAY));
        setVisible(true);
        setFocusable(false);
        setPreferredSize(messageComboBoxDimension);
        setRenderer(new DefaultListCellRenderer() {
            @Override
            public void paint(Graphics g) {
                setBackground(new Color(71,93));
                setForeground(WHITE);
                super.paint(g);
            }
        });
    }
}

关于如何使JComboBox向下按钮和固定的下拉元素的背景与JButton中的背景相同的任何建议,即使没有重点关注?由于某种原因,它是灰色的。

这与LookAndFeel有关吗? __________________________________________________________________________________

更新: 下一个主题解决的问题 LookAndFeel blocking JComboBox background change? __________________________________________________________________________________

解决方法

尝试

yourCombo.getEditor().getEditorComponent().setBackGround(new Color(71,81,93))

为我工作,活跃或不活跃 enter image description here