diff options
Diffstat (limited to 'src/jrummikub/view/impl/Board.java')
-rw-r--r-- | src/jrummikub/view/impl/Board.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/jrummikub/view/impl/Board.java b/src/jrummikub/view/impl/Board.java new file mode 100644 index 0000000..1d7cc1a --- /dev/null +++ b/src/jrummikub/view/impl/Board.java @@ -0,0 +1,47 @@ +package jrummikub.view.impl; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Insets; + +import javax.swing.ImageIcon; +import javax.swing.JPanel; + +import jrummikub.model.Stone; +import jrummikub.model.StoneColor; +import jrummikub.view.IBoard; + +@SuppressWarnings("serial") +public class Board extends JPanel implements IBoard { + private final static ImageIcon background = new ImageIcon(Board.class.getResource("/jrummikub/resource/wood.png")); + + Board() { + super(true); + + setBorder(new CustomBorder(Color.DARK_GRAY, 0, 1, 0, 1)); + } + + @Override + protected void paintComponent(Graphics g) { + Insets insets = getInsets(); + int x = insets.left, y = insets.top, width = getWidth()-insets.left-insets.right, height = getHeight()-insets.top-insets.bottom; + g = g.create(x, y, width, height); + + for(int xpos = 0; xpos < width; xpos += background.getIconWidth()) { + background.paintIcon(this, g, xpos, 0); + } + for(int xpos = -32; xpos < width; xpos += background.getIconWidth()) { + background.paintIcon(this, g, xpos, 75); + } + + // TODO Rest of painting code + + // FIXME Test code + StonePainter.paintStone(g, new Stone(1, StoneColor.ORANGE, false), + 0, 0, StonePainter.BOARD_SCALE); + StonePainter.paintStone(g, new Stone(10, StoneColor.BLUE, false), + 1, 0, StonePainter.BOARD_SCALE); + StonePainter.paintStone(g, new Stone(5, StoneColor.RED, false), + 0.5f, 1, StonePainter.BOARD_SCALE); + } +} |