扩展ImageIcon类并保持兼容性

时间:2014-01-21 14:18:48

标签: java swing jlabel scaling imageicon

我有类Emoticon,它扩展了ImageIcon。

JLabel label = new JLabel("", emoticon); // emoticon is from class Emoticon

我不能这样做,因为JLabel正在寻找ImageIcon,而不是Emoticon。我可以轻松解决这个问题吗?

我已经扩展了ImageIcon,但我不确定我是否应该这样做。

public class Emoticon extends ImageIcon {
private static final long serialVersionUID = 1L;

Emoticon(String Path, String desc) {
    super(Path, desc);
}

Emoticon(Image image) {
    super(image);
}

public Emoticon getScaled(int width, int height) {
    Image image= this.getImage().getScaledInstance(width, height, Image.SCALE_SMOOTH);
    Emoticon ret = new Emoticon(image);
    return ret;

}

}

我稍后会扩展它。

如何使Emoticon与JLabel兼容?

1 个答案:

答案 0 :(得分:0)

我犯了一个错误

JLabel label = new JLabel("", emoticon);

应该是。

JLabel label = new JLabel("", emoticon, JLabel.CENTER);

感谢Tom G