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.java35
1 files changed, 7 insertions, 28 deletions
diff --git a/src/jrummikub/view/impl/Table.java b/src/jrummikub/view/impl/Table.java
index a42a2a9..4a5589b 100644
--- a/src/jrummikub/view/impl/Table.java
+++ b/src/jrummikub/view/impl/Table.java
@@ -4,10 +4,7 @@ import java.awt.BorderLayout;
import java.awt.Color;
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;
@@ -19,26 +16,22 @@ import javax.swing.JPanel;
import jrummikub.model.Position;
import jrummikub.model.Stone;
import jrummikub.model.StoneSet;
-import jrummikub.util.Event1;
-import jrummikub.util.IEvent1;
import jrummikub.view.ITable;
@SuppressWarnings("serial")
-public class Table extends JPanel implements ITable {
+public class Table extends StonePanel implements ITable {
private final static ImageIcon background = new ImageIcon(
Board.class.getResource("/jrummikub/resource/felt.png"));
-
+ private final static float DEFAULT_SCALE = 1;
+
private JLabel leftPlayerLabel, topPlayerLabel, rightPlayerLabel;
private JPanel innerPanel;
-
- private StonePainter stonePainter = new StonePainter(1);
+
private StonePainter selectedStonePainter = new StonePainter(1.2f);
private Map<StoneSet, Position> stoneSets = Collections.emptyMap();
private Collection<Stone> selectedStones = Collections.emptyList();
- private Event1<Position> clickEvent = new Event1<Position>();
-
@Override
public void setLeftPlayerName(String playerName) {
@@ -65,14 +58,10 @@ public class Table extends JPanel implements ITable {
selectedStones = stones;
repaint();
}
-
- @Override
- public IEvent1<Position> getClickEvent() {
- return clickEvent;
- }
Table() {
- super(true); // set double buffered
+ super(DEFAULT_SCALE);
+
setLayout(new BorderLayout());
leftPlayerLabel = new JLabel();
@@ -92,23 +81,13 @@ public class Table extends JPanel implements ITable {
innerPanel = new JPanel();
innerPanel.setOpaque(false);
add(innerPanel, BorderLayout.CENTER);
-
- addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- Insets insets = getInsets();
-
- clickEvent.fire(stonePainter.calculatePosition(e.getX() - insets.left,
- e.getY() - insets.top));
- }
- });
}
public void paintStoneSet(Graphics2D g, StoneSet stoneSet, Position pos) {
float x = pos.getX();
for (Stone stone : stoneSet) {
- stonePainter.paintStone(g, stone, new Position(x, pos.getY()),
+ getStonePainter().paintStone(g, stone, new Position(x, pos.getY()),
selectedStones.contains(stone));
x++;
}