gpt4 book ai didi

java - 我可以修改现有对象的 JComboBox 弹出窗口背景颜色吗?

转载 作者:搜寻专家 更新时间:2023-10-31 20:15:55 26 4
gpt4 key购买 nike

我有一个现有的 JComboBox 对象。我可以使用内部方法修改它的许多属性。但是,我找不到类似的方法来自定义弹出窗口的外观——特别是弹出窗口的背景颜色。我有一个现有的对象,所以我希望使用它现有的方法/属性,而不是编写一个专用的类。这可能吗?

注意:此问题与上面的链接问题相同(错误地指出此问题已经有答案):该问题询问的是所选项目的 bgcolor(在组合框的编辑框中);我问的是弹出框的 bgcolor。

最佳答案

正如 eugener 所说,使用自定义 ListCellRenderer 绝对是正确的方法。您只需创建一个扩展 DefaultListCellRenderer 的类。这个默认的渲染器扩展了 JLabel,所以理解起来再简单不过了!您只需调用 setBackground()

JComboBox combo = new JComboBox(new String[] { "A", "B", "C", "D" });
combo.setRenderer(new DefaultListCellRenderer() {
public void paint(Graphics g) {
setBackground(Color.YELLOW);
setForeground(Color.RED);
super.paint(g);
}
});

关于java - 我可以修改现有对象的 JComboBox 弹出窗口背景颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4162980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com