相关疑难解决方法(0)

在Swing中设置JComboBox的背景

我想要一个没有箭头按钮(完成)的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)

java swing background jcombobox

7
推荐指数
1
解决办法
1万
查看次数

不可编辑的JComboBox中所选项目的背景颜色

不可编辑的JComboBox中所选项目的背景颜色是一种蓝色:

替代文字

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

java swing jcombobox

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

jcombobox ×2

swing ×2

background ×1