diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-05-01 00:41:27 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-05-01 00:41:27 +0200 |
commit | 54271eb86d67d1c12f38e1b63cb6c455612f252b (patch) | |
tree | 171aacec0e5b42ccb3479ba3f77986552e874a89 /src/jrummikub/view/impl/Table.java | |
parent | 5e7c489921f3141e62f229646d7f16c7b691be3d (diff) | |
download | JRummikub-54271eb86d67d1c12f38e1b63cb6c455612f252b.tar JRummikub-54271eb86d67d1c12f38e1b63cb6c455612f252b.zip |
Discriminate between different click events
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@44 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/Table.java')
-rw-r--r-- | src/jrummikub/view/impl/Table.java | 35 |
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++; } |