★★ Java の宿題ここで答えます Part 62 ★★
■ このスレッドは過去ログ倉庫に格納されています
0508デフォルトの名無しさん
2007/09/01(土) 02:17:58import java.awt.image.BufferedImage;
import javax.swing.*;
public class JLabelReverse extends JLabel {
public JLabelReverse() {}
public JLabelReverse(Icon image) { super(image); }
public JLabelReverse(String text, Icon image, int horizontalAlignment) { super(text, image, horizontalAlignment); }
public void setIcon(Icon icon) {
if (icon != null) {
BufferedImage image = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB);
java.awt.Graphics2D g = image.createGraphics();
g.translate(icon.getIconWidth(), 0);
g.scale(-1, 1);
icon.paintIcon(this, g, 0, 0);
g.dispose();
icon = new ImageIcon(image);
}
super.setIcon(icon);
}
}
setIconの引数はIconであってImageIconではない。
JLabelReverseのコンストラクタで足りないものは自分で補ってくれ。
iconがnullの時はJLabel#setIconは呼ばなくてもいいとは思うが念のため呼んでる。
■ このスレッドは過去ログ倉庫に格納されています