summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/impl/Board.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-04-30 17:56:10 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-04-30 17:56:10 +0200
commit36da8c8a179faab8e52c66130c4031027e06db6b (patch)
tree60d8ec3e1f4633fda09d255b68ae9cb9a8b18634 /src/jrummikub/view/impl/Board.java
parent5440eaba77a77de9ff7ff502e2281b6ad6a5b92e (diff)
downloadJRummikub-36da8c8a179faab8e52c66130c4031027e06db6b.tar
JRummikub-36da8c8a179faab8e52c66130c4031027e06db6b.zip
Added clickEvent to Board
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@30 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/view/impl/Board.java')
-rw-r--r--src/jrummikub/view/impl/Board.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/jrummikub/view/impl/Board.java b/src/jrummikub/view/impl/Board.java
index 2e02f75..b227760 100644
--- a/src/jrummikub/view/impl/Board.java
+++ b/src/jrummikub/view/impl/Board.java
@@ -5,6 +5,8 @@ import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
import java.util.Collections;
import java.util.Map;
@@ -13,6 +15,9 @@ import javax.swing.JPanel;
import jrummikub.model.Position;
import jrummikub.model.Stone;
+import jrummikub.util.Event1;
+import jrummikub.util.IEvent;
+import jrummikub.util.IEvent1;
import jrummikub.view.IBoard;
@SuppressWarnings("serial")
@@ -21,11 +26,52 @@ public class Board extends JPanel implements IBoard {
private Map<Stone, Position> stones = Collections.emptyMap();
private StonePainter stonePainter = new StonePainter(StonePainter.BOARD_SCALE);
+
+ private Event1<Position> clickEvent = new Event1<Position>();
Board() {
super(true);
setBorder(new CustomBorder(Color.DARK_GRAY, 0, 1, 0, 1));
+
+ addMouseListener(new MouseListener(){
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ Insets insets = getInsets();
+
+ clickEvent.fire(stonePainter.calculatePosition(e.getX()-insets.left, e.getY()-insets.top));
+
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ // TODO Auto-generated method stub
+
+ }});
+ }
+
+ @Override
+ public IEvent1<Position> getClickEvent() {
+ return clickEvent;
}
@Override