概要

JPanelの背景に画像をタイル状に並べて表示します。

サンプルコード

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を順番に並べて描画しています。

参考リンク

コメント