diff options
Diffstat (limited to 'src/jrummikub/view/impl/Board.java')
-rw-r--r-- | src/jrummikub/view/impl/Board.java | 37 |
1 files changed, 12 insertions, 25 deletions
diff --git a/src/jrummikub/view/impl/Board.java b/src/jrummikub/view/impl/Board.java index 555819e..a566312 100644 --- a/src/jrummikub/view/impl/Board.java +++ b/src/jrummikub/view/impl/Board.java @@ -5,38 +5,30 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Insets; import java.awt.RenderingHints; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; import java.util.Collection; import java.util.Collections; import java.util.Map; import javax.swing.ImageIcon; -import javax.swing.JPanel; import jrummikub.model.Position; import jrummikub.model.Stone; -import jrummikub.util.Event1; -import jrummikub.util.IEvent1; 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")); - +public class Board extends StonePanel implements IBoard { + private final static ImageIcon BACKGROUND = new ImageIcon(Board.class.getResource("/jrummikub/resource/wood.png")); + private final static float DEFAULT_SCALE = StonePainter.BOARD_SCALE; + private Map<Stone, Position> stones = Collections.emptyMap(); private Collection<Stone> selectedStones = Collections.emptyList(); - - private StonePainter stonePainter = new StonePainter(StonePainter.BOARD_SCALE); - - private Event1<Position> clickEvent = new Event1<Position>(); Board() { - super(true); // set double buffered + super(DEFAULT_SCALE); setBorder(new CustomBorder(Color.DARK_GRAY, 0, 1, 0, 1)); - addMouseListener(new MouseAdapter() { + /*addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { Insets insets = getInsets(); @@ -44,12 +36,7 @@ public class Board extends JPanel implements IBoard { clickEvent.fire(stonePainter.calculatePosition(e.getX() - insets.left, e.getY() - insets.top)); } - }); - } - - @Override - public IEvent1<Position> getClickEvent() { - return clickEvent; + });*/ } @Override @@ -58,18 +45,18 @@ public class Board extends JPanel implements IBoard { int x = insets.left, y = insets.top, width = getWidth()-insets.left-insets.right, height = getHeight()-insets.top-insets.bottom; Graphics2D g = (Graphics2D)g1.create(x, y, width, height); - for(int xpos = 0; xpos < width; xpos += background.getIconWidth()) { - background.paintIcon(this, g, xpos, 0); + 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); + for(int xpos = -32; xpos < width; xpos += BACKGROUND.getIconWidth()) { + BACKGROUND.paintIcon(this, g, xpos, 75); } g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); for (Map.Entry<Stone, Position> entry : stones.entrySet()) { - stonePainter.paintStone(g, entry.getKey(), entry.getValue(), + getStonePainter().paintStone(g, entry.getKey(), entry.getValue(), selectedStones.contains(entry.getKey())); } } |