|
From: Frederick W. <fre...@us...> - 2012-02-08 16:50:21
|
rails/ui/swing/GridPanel.java | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
New commits:
commit 5f70d21472cf24abf7ac417896273245f39074e8
Author: Frederick Weld <fre...@gm...>
Date: Wed Feb 8 17:49:20 2012 +0100
Increased robustness for GridPanel(2): Added field may have null-border
diff --git a/rails/ui/swing/GridPanel.java b/rails/ui/swing/GridPanel.java
index d2ea42b..ddc4582 100644
--- a/rails/ui/swing/GridPanel.java
+++ b/rails/ui/swing/GridPanel.java
@@ -244,24 +244,30 @@ implements ActionListener, KeyListener {
private class FieldBorder extends CompoundBorder {
private static final long serialVersionUID = 1L;
Border nativeInnerBorder;
- DynamicBorder highlightedInnerBorder;
+ /**
+ * remains null if nativeInnerBorder is null or broken
+ */
+ DynamicBorder highlightedInnerBorder = null;
DynamicBorder outlineBorder;
DynamicBorder outerBorder;
public FieldBorder(Border innerBorder,DynamicBorder outlineBorder,DynamicBorder outerBorder) {
super(new CompoundBorder(outerBorder,outlineBorder),innerBorder);
- this.nativeInnerBorder = innerBorder;
+ nativeInnerBorder = innerBorder;
this.outlineBorder = outlineBorder;
this.outerBorder = outerBorder;
- Insets nativeInnerBorderInsets = nativeInnerBorder.getBorderInsets(null);
- if (nativeInnerBorderInsets == null) {
- nativeInnerBorderInsets = new Insets(0,0,0,0);
+
+ //prepare highlighted inner border
+ if (nativeInnerBorder != null) {
+ Insets nativeInnerBorderInsets = nativeInnerBorder.getBorderInsets(null);
+ if (nativeInnerBorderInsets != null) {
+ highlightedInnerBorder = new DynamicBorder(
+ highlightedBorderColor,
+ nativeInnerBorderInsets.top,
+ nativeInnerBorderInsets.left,
+ nativeInnerBorderInsets.bottom,
+ nativeInnerBorderInsets.right);
+ }
}
- this.highlightedInnerBorder = new DynamicBorder(
- highlightedBorderColor,
- nativeInnerBorderInsets.top,
- nativeInnerBorderInsets.left,
- nativeInnerBorderInsets.bottom,
- nativeInnerBorderInsets.right);
}
public void setHighlight(boolean isToBeHighlighted) {
outlineBorder.setHighlight(isToBeHighlighted);
|