29 lines
980 B
Java
29 lines
980 B
Java
import java.awt.;
|
|
import javax.swing.;
|
|
|
|
public class TileBackground extends JComponent {
|
|
private Image tile;
|
|
private int tileScale;
|
|
|
|
public TileBackground(int tileScale, String imagePath) {
|
|
super();
|
|
this.tile = Toolkit.getDefaultToolkit().getImage(imagePath);
|
|
this.tileScale = tileScale;
|
|
}
|
|
|
|
@Override
|
|
protected void paintComponent(Graphics brush) {
|
|
Graphics newBrush = brush.create();
|
|
if (this.isOpaque()) {
|
|
newBrush.setColor(this.getBackground());
|
|
newBrush.fillRect(0, 0, this.getWidth(), this.getHeight());
|
|
}
|
|
int horizontalReps = this.getWidth() / this.tileScale + 1;
|
|
int verticalReps = this.getHeight() / this.tileScale + 1;
|
|
for (int x = 0; x < horizontalReps; x++) {
|
|
for (int y = 0; y < verticalReps; y++) {
|
|
newBrush.drawImage(this.tile, x * tileScale, y * tileScale, tileScale, tileScale, this);
|
|
}
|
|
}
|
|
}
|
|
} |