summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/Table.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view/impl/Table.java')
-rw-r--r--src/jrummikub/view/impl/Table.java28
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());
+ }
}
}