All pastes #776044 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-11-15 20:52 UTC
rendered paste body
import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JComponent;

public class JBoxGrid extends JComponent {

	private final Box[][] boxes;

	private final int boxwidth;

	private final int boxheight;

	public JBoxGrid(int width, int height, int boxwidth, int boxheight) {
		boxes = new Box[height][width];

		for (int y = 0; y < height; y++) {
			for (int i = 0; i < width; i++) {
				boxes[y][i] = new Box();
			}
		}

		this.boxheight = boxheight;
		this.boxwidth = boxwidth;

		setSize(width * boxwidth, height * boxheight);
	}

	@Override
	public void paint(Graphics g) {
		super.paint(g);

		for (int y = 0; y < boxes.length; y++) {
			for (int x = 0; x < boxes[y].length; x++) {
				g.setColor(Color.BLACK);
				g.drawRect(x * boxwidth, y * boxheight, boxwidth, boxheight);

				g.setColor(boxes[y][x].color);
				g.fillRect(x * boxwidth + 1, y * boxheight + 1, boxwidth - 2,
						boxheight - 2);
			}
		}
	}

	public void setBackgroundColor(int x, int y, Color color) {
		boxes[y][x].color = color;
	}
}

class Box {
	public Color color = Color.GRAY;
}