summaryrefslogtreecommitdiff
path: root/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java
diff options
context:
space:
mode:
Diffstat (limited to 'BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java')
-rw-r--r--BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java69
1 files changed, 69 insertions, 0 deletions
diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java
new file mode 100644
index 00000000..2c25d46b
--- /dev/null
+++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/FocusBorder.java
@@ -0,0 +1,69 @@
+package at.gv.egiz.bku.gui;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Insets;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.border.Border;
+
+
+public class FocusBorder implements Border {
+
+ private static final Color DEFAULT_COLOR = Color.BLACK;
+
+ private Color color;
+ private float borderWidthFactor;
+
+ public FocusBorder() {
+
+ this.color = DEFAULT_COLOR;
+ this.borderWidthFactor = 1.0f;
+ }
+
+ public FocusBorder(Color borderColor) {
+
+ this.color = borderColor;
+ this.borderWidthFactor = 1.0f;
+ }
+
+ @Override
+ public Insets getBorderInsets(Component c) {
+
+ return new Insets(3, 3, 6, 6);
+ }
+
+ @Override
+ public boolean isBorderOpaque() {
+
+ return true;
+ }
+
+ @Override
+ public void paintBorder(Component c, Graphics g, int x, int y, int width,
+ int height) {
+ Graphics2D g2 = (Graphics2D) g;
+
+ g2.setPaint(color);
+ float[] dash1 = { 2.0f };
+
+ g2.setStroke(new BasicStroke(1.0f * borderWidthFactor, BasicStroke.CAP_BUTT,
+ BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f));
+
+ g2.draw(new Rectangle2D.Double(x + 1, y + 1, width - 6, height - 6));
+
+ }
+
+ public void setColor(Color color) {
+ this.color = color;
+ }
+
+ public void setBorderWidthFactor(float borderWidthFactor) {
+
+ this.borderWidthFactor = borderWidthFactor;
+ }
+
+}