java - 如何更改 JComboBox 中的箭头样式

标签 java swing look-and-feel jcombobox synth

假设我想为 JComboBox 中的箭头使用自定义图像,我该怎么做?

我知道可以使用 synth xml 文件,或者甚至可以使用 UIManager.put(...),但我不知道如何操作。此时我想要做的就是将箭头图像更改为其他内容,以编程方式或什至只是覆盖它使用的图像。我究竟该怎么做?

最佳答案

您可以在 BasicComboBoxUI 中覆盖 createArrowButton() . BasicArrowButton是一个方便的起点。

class ColorArrowUI extends BasicComboBoxUI {

    public static ComboBoxUI createUI(JComponent c) {
        return new ColorArrowUI();
    }

    @Override protected JButton createArrowButton() {
        return new BasicArrowButton(
            BasicArrowButton.SOUTH,
            Color.cyan, Color.magenta,
            Color.yellow, Color.blue);
    }
}

然后安装它。

JComboBox combo = new JComboBox();
combo.setUI(ColorArrowUI.createUI(combo));

关于java - 如何更改 JComboBox 中的箭头样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3008447/

相关文章:

java - 您将如何在Java模型中表示出生日期?

java - Maven - 在当前项目和插件组中找不到前缀 'tomcat7' 的插件

java - 具有可见组件的不可见窗口

java - 如何使用 RescaleOp 设置图像大小

Java:具有自定义形状的 JButton:填充金属外观和感觉渐变

java - 改变 Java 应用程序的外观

java - WindowsLookAndFeel 有关按钮颜色的意外行为

java - .3ds 与 JOGL?

java - 将 jLabel 上的图标保存为硬盘上的图像

java - 用于求解表达式的简单 Java 计算器