From 2a4e4f0a8395b1762abaa28d81639fe23d063b48 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Thu, 28 Apr 2011 16:49:20 +0200 Subject: Added wood texture to board git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@11 72836036-5685-4462-b002-a69064685172 --- .classpath | 1 + src/jrummikub/view/Board.java | 17 +++++++++++++- src/jrummikub/view/CustomBorder.java | 42 +++++++++++++++++++++++++++++++++++ src/jrummikub/view/resource/wood.png | Bin 0 -> 35308 bytes 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 src/jrummikub/view/CustomBorder.java create mode 100644 src/jrummikub/view/resource/wood.png diff --git a/.classpath b/.classpath index 83b76b7..e72ef7c 100644 --- a/.classpath +++ b/.classpath @@ -3,5 +3,6 @@ + diff --git a/src/jrummikub/view/Board.java b/src/jrummikub/view/Board.java index 70c0988..b73b00a 100644 --- a/src/jrummikub/view/Board.java +++ b/src/jrummikub/view/Board.java @@ -1,12 +1,27 @@ package jrummikub.view; import java.awt.Color; +import java.awt.Graphics; +import javax.swing.ImageIcon; import javax.swing.JPanel; @SuppressWarnings("serial") public class Board extends JPanel implements IBoard { + private final static ImageIcon background = new ImageIcon(Board.class.getResource("resource/wood.png")); + Board() { - setBackground(Color.DARK_GRAY); + super(true); + + setBorder(new CustomBorder(Color.DARK_GRAY, 0, 1, 0, 1)); + } + + @Override + protected void paintComponent(Graphics g) { + for(int x = 0; x < getWidth(); x += background.getIconWidth()) { + background.paintIcon(this, g, x, 0); + } + + // TODO Rest of painting code } } diff --git a/src/jrummikub/view/CustomBorder.java b/src/jrummikub/view/CustomBorder.java new file mode 100644 index 0000000..f249cb1 --- /dev/null +++ b/src/jrummikub/view/CustomBorder.java @@ -0,0 +1,42 @@ +package jrummikub.view; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Insets; + +import javax.swing.border.Border; + +class CustomBorder implements Border { + private Color color; + private int top, left, bottom, right; + + public CustomBorder(Color color, int top, int left, int bottom, int right) { + this.color = color; + this.top = top; + this.left = left; + this.bottom = bottom; + this.right = right; + } + + @Override + public Insets getBorderInsets(Component c) { + return new Insets(top, left, bottom, right); + } + + @Override + public boolean isBorderOpaque() { + return true; + } + + @Override + public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { + g.setColor(color); + + g.fillRect(x, y, width, top); + g.fillRect(x, y+height-bottom, width, bottom); + g.fillRect(x, y, left, height); + g.fillRect(x+width-right, y, right, height); + } + +} diff --git a/src/jrummikub/view/resource/wood.png b/src/jrummikub/view/resource/wood.png new file mode 100644 index 0000000..424ec6d Binary files /dev/null and b/src/jrummikub/view/resource/wood.png differ -- cgit v1.2.3