From 54271eb86d67d1c12f38e1b63cb6c455612f252b Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sun, 1 May 2011 00:41:27 +0200 Subject: Discriminate between different click events git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@44 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/view/impl/Table.java | 35 +++++++---------------------------- 1 file changed, 7 insertions(+), 28 deletions(-) (limited to 'src/jrummikub/view/impl/Table.java') 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 stoneSets = Collections.emptyMap(); private Collection selectedStones = Collections.emptyList(); - private Event1 clickEvent = new Event1(); - @Override public void setLeftPlayerName(String playerName) { @@ -65,14 +58,10 @@ public class Table extends JPanel implements ITable { selectedStones = stones; repaint(); } - - @Override - public IEvent1 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++; } -- cgit v1.2.3