59 this.sizeDescriptor = other.sizeDescriptor;
60 this.sizeVariant = other.sizeVariant;
61 this.painter = AquaPainter.create(other.painter.state.derive());
62 painter.state.set(AlignmentVertical.CENTER);
63 painter.state.set(AlignmentHorizontal.CENTER);
64 }
65
66 protected void setSize(final Size size) {
67 sizeVariant = sizeDescriptor.get(size);
68 painter.state.set(size);
69 }
70
71 @Override
72 public Insets getBorderInsets(final Component c) {
73 return (Insets) sizeVariant.margins.clone();
74 }
75
76 protected AquaBorder deriveBorderForSize(final Size size) {
77 try {
78 final Class<? extends AquaBorder> clazz = getClass();
79 final AquaBorder border = clazz.getConstructor(new Class<?>[] { clazz }).newInstance(new Object[] { this });
80 border.setSize(size);
81 return border;
82 } catch (final Throwable e) {
83 return null;
84 }
85 }
86
87 public static void repaintBorder(final JComponent c) {
88 JComponent borderedComponent = c;
89 Border border = c.getBorder();
90 if (border == null) {
91 // See if it's inside a JScrollpane or something
92 final Container p = c.getParent();
93 if (p instanceof JViewport) {
94 borderedComponent = (JComponent)p.getParent();
95 if (borderedComponent != null) border = borderedComponent.getBorder();
96 }
97 }
98
|
59 this.sizeDescriptor = other.sizeDescriptor;
60 this.sizeVariant = other.sizeVariant;
61 this.painter = AquaPainter.create(other.painter.state.derive());
62 painter.state.set(AlignmentVertical.CENTER);
63 painter.state.set(AlignmentHorizontal.CENTER);
64 }
65
66 protected void setSize(final Size size) {
67 sizeVariant = sizeDescriptor.get(size);
68 painter.state.set(size);
69 }
70
71 @Override
72 public Insets getBorderInsets(final Component c) {
73 return (Insets) sizeVariant.margins.clone();
74 }
75
76 protected AquaBorder deriveBorderForSize(final Size size) {
77 try {
78 final Class<? extends AquaBorder> clazz = getClass();
79 @SuppressWarnings("deprecation")
80 final AquaBorder border = clazz.getConstructor(new Class<?>[] { clazz }).newInstance(new Object[] { this });
81 border.setSize(size);
82 return border;
83 } catch (final Throwable e) {
84 return null;
85 }
86 }
87
88 public static void repaintBorder(final JComponent c) {
89 JComponent borderedComponent = c;
90 Border border = c.getBorder();
91 if (border == null) {
92 // See if it's inside a JScrollpane or something
93 final Container p = c.getParent();
94 if (p instanceof JViewport) {
95 borderedComponent = (JComponent)p.getParent();
96 if (borderedComponent != null) border = borderedComponent.getBorder();
97 }
98 }
99
|