summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view/CustomBorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view/CustomBorder.java')
-rw-r--r--src/jrummikub/view/CustomBorder.java42
1 files changed, 42 insertions, 0 deletions
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);
+ }
+
+}