概要
JPanel
の背景に画像をタイル状に並べて表示します。
Screenshot
Advertisement
サンプルコード
private final Image image;
@Override protected void paintComponent(Graphics g) {
Dimension d = getSize();
int w = image.getWidth(this);
int h = image.getHeight(this);
for (int i = 0; i * w < d.width; i++) {
for (int j = 0; j * h < d.height; j++) {
g.drawImage(image, i * w, j * h, w, h, this);
}
}
super.paintComponent(g);
}
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JPanel#setOpaque(false)
でパネルの背景を透過するよう設定し、JPanel#paintComponent(Graphics)
メソッドをオーバーライドしてこの内部でImage
を順番に並べて描画しています。
参考リンク
- TexturePaintを使って背景に画像を表示
- 画像から
TexturePaint
を作成して描画
- 画像から
- JTextAreaの背景に画像を表示
- ひとつの画像をパネル中央に表示