gpt4 book ai didi

java - 重写 setUI 中的 setIcon() 方法(new BasicComboBOxUI){}

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:24 26 4
gpt4 key购买 nike

我必须在 JComboBox 的下拉列表中设置自定义图像。我非常成功地删除了它(通过覆盖 getWidth()),但我无法用我的自定义图像替换箭头。这是我的代码片段,以便更好地了解。我不知道我在哪里做错了,但它在按钮部分显示了一些升高的部分。

    cmbYear = new JComboBox();
cmbYear.setUI(new BasicComboBoxUI(){
protected JButton createArrowButton() {
return new JButton() {
private static final long serialVersionUID = 1L;
public void setIcon(Icon defaultIcon) {
defaultIcon = new ImageIcon("images/dropdown_icon.png");
super.setIcon(defaultIcon);
}
// public int getWidth() {
// return 0;
// }
};
}
});

请在这里帮助我。非常感谢您的时间和建议。

最佳答案

您可以改写 getIcon。根据需要缓存图标。

@Override
public Icon getIcon() {
Icon defaultIcon = new ImageIcon(getClass().getResource("images/dropdown_icon.png"));
return defaultIcon;
}

关于java - 重写 setUI 中的 setIcon() 方法(new BasicComboBOxUI){},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13403027/

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