diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-04-30 21:16:42 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-04-30 21:16:42 +0200 |
commit | 482d7e7f86ed0343c0a4102562a82bd65dd52f37 (patch) | |
tree | bb5fb7ef9f84e4165b2b6eb956ce098139ac5eca /src/jrummikub/view/impl/Table.java | |
parent | f9b396875add92f9cfc64ee74c82d3275e4d7dd6 (diff) | |
download | JRummikub-482d7e7f86ed0343c0a4102562a82bd65dd52f37.tar JRummikub-482d7e7f86ed0343c0a4102562a82bd65dd52f37.zip |
Paint stones on table
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@32 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/Table.java')
-rw-r--r-- | src/jrummikub/view/impl/Table.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/jrummikub/view/impl/Table.java b/src/jrummikub/view/impl/Table.java index c3c6a71..f7460e2 100644 --- a/src/jrummikub/view/impl/Table.java +++ b/src/jrummikub/view/impl/Table.java @@ -3,11 +3,18 @@ package jrummikub.view.impl; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.util.Collections; +import java.util.Map; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; +import jrummikub.model.Position; +import jrummikub.model.Stone; +import jrummikub.model.StoneSet; import jrummikub.view.ITable; @SuppressWarnings("serial") @@ -17,7 +24,10 @@ public class Table extends JPanel implements ITable { private JLabel leftPlayerLabel, topPlayerLabel, rightPlayerLabel; private JPanel innerPanel; - + private StonePainter stonePainter = new StonePainter(1); + + private Map<StoneSet, Position> stoneSets = Collections.emptyMap(); + @Override public void setLeftPlayerName(String playerName) { leftPlayerLabel.setText(playerName); @@ -33,6 +43,11 @@ public class Table extends JPanel implements ITable { rightPlayerLabel.setText(playerName); } + @Override + public void setStoneSets(Map<StoneSet, Position> stoneSets) { + this.stoneSets = stoneSets; + } + Table() { super(true); // set double buffered setLayout(new BorderLayout()); @@ -57,13 +72,20 @@ public class Table extends JPanel implements ITable { } @Override - protected void paintComponent(Graphics g) { + protected void paintComponent(Graphics g1) { + Graphics2D g = (Graphics2D)g1; + for(int x = 0; x < getWidth(); x += background.getIconWidth()) { for(int y = 0; y < getHeight(); y += background.getIconHeight()) { background.paintIcon(this, g, x, y); } } - // TODO Rest of painting code + g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, + RenderingHints.VALUE_ANTIALIAS_ON); + + for (Map.Entry<StoneSet, Position> stoneSet : stoneSets.entrySet()) { + stonePainter.paintStoneSet(g, stoneSet.getKey(), stoneSet.getValue()); + } } } |