2010年2月7日日曜日

[java][awt][swing]画像ファイル不要な、ただの四角い色付きアイコン

swingのActionに乗っける(乗っける?)アイコンの話です。色が付いていれば何でもいいからテキトーにちゃちゃっとアイコンくっつかないかな。色の指定はコロコロ変わるからgifとかやめてね。みたいなケース。


できます。


---
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;


/**
 * シンプルな矩形のアイコンクラスです
 * 
 */
public class RectangleIcon implements Icon {
private Dimension size;
private Color color;
/**
* コンストラクタ
* @param size
* @param color
*/
public RectangleIcon(final Dimension size, final Color color) {
if(size == null || color == null) throw new IllegalArgumentException();
this.size = size;
this.color = color;
}


@Override
public int getIconHeight() {
return size.height;
}


@Override
public int getIconWidth() {
return size.width;
}


@Override
public void paintIcon(Component c, Graphics g, int x, int y) {
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(color);
g2.fill(new Rectangle2D.Double(x, y, size.width, size.height));
g2.draw(new Rectangle2D.Double(x, y, size.width, size.height));
}
}
---


ではまた。

0 件のコメント:

コメントを投稿