提交 b0b074a9 编写于 作者: M malenkov

7001118: DOC: javax.swing.border.StrokeBorder.paintBorder() doesn't throw NPE...

7001118: DOC: javax.swing.border.StrokeBorder.paintBorder() doesn't throw NPE in all specified cases
Reviewed-by: alexp
上级 385c3cb2
...@@ -88,6 +88,10 @@ public class StrokeBorder extends AbstractBorder { ...@@ -88,6 +88,10 @@ public class StrokeBorder extends AbstractBorder {
/** /**
* Paints the border for the specified component * Paints the border for the specified component
* with the specified position and size. * with the specified position and size.
* If the border was not specified with a {@link Paint} object,
* the component's foreground color will be used to render the border.
* If the component's foreground color is not available,
* the default color of the {@link Graphics} object will be used.
* *
* @param c the component for which this border is being painted * @param c the component for which this border is being painted
* @param g the paint graphics * @param g the paint graphics
...@@ -96,7 +100,7 @@ public class StrokeBorder extends AbstractBorder { ...@@ -96,7 +100,7 @@ public class StrokeBorder extends AbstractBorder {
* @param width the width of the painted border * @param width the width of the painted border
* @param height the height of the painted border * @param height the height of the painted border
* *
* @throws NullPointerException if the specified {@code c} or {@code g} are {@code null} * @throws NullPointerException if the specified {@code g} is {@code null}
*/ */
@Override @Override
public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) { public void paintBorder(Component c, Graphics g, int x, int y, int width, int height) {
...@@ -106,7 +110,7 @@ public class StrokeBorder extends AbstractBorder { ...@@ -106,7 +110,7 @@ public class StrokeBorder extends AbstractBorder {
if (g instanceof Graphics2D) { if (g instanceof Graphics2D) {
Graphics2D g2d = (Graphics2D) g; Graphics2D g2d = (Graphics2D) g;
g2d.setStroke(this.stroke); g2d.setStroke(this.stroke);
g2d.setPaint(this.paint != null ? this.paint : c.getForeground()); g2d.setPaint(this.paint != null ? this.paint : c == null ? null : c.getForeground());
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON); RenderingHints.VALUE_ANTIALIAS_ON);
g2d.draw(new Rectangle2D.Float(x + size / 2, y + size / 2, width - size, height - size)); g2d.draw(new Rectangle2D.Float(x + size / 2, y + size / 2, width - size, height - size));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册