我想要一个没有箭头按钮(完成)的JComboBox,它在启用时具有绿色背景,在禁用时具有灰色背景(未完成).我还为下拉列表使用了自定义渲染器(完成)
我检查了BasicComboBoxUI的源代码并试图覆盖一些方法,但没有任何反应.下拉列表始终具有灰色/蓝色背景.
这是我最近一次尝试的SSCCE.我尝试了我能想到的一切.请给我一个提示,我迷路了.
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.plaf.basic.BasicComboBoxUI;
public class DropDownBackground
{
public static void main(final String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
final JComboBox dropdown = new JComboBox(new DefaultComboBoxModel(new String[] { "one", "two", "three" }));
dropdown.setRenderer(new ComboBoxListCellRenderer());
dropdown.setUI(new BasicComboBoxUI()
{
@Override
public void paint(final Graphics g, final JComponent c) …Run Code Online (Sandbox Code Playgroud) 不可编辑的JComboBox中所选项目的背景颜色是一种蓝色:

有没有办法让它变成不同的颜色,例如白色?