HI, an app written by me years ago demonstrates that MatteBorder can accept a null tileIcon. Classpath' implementation throw an exception in that case. The attached patch fixes that and make the paintBorder method aware of a possibly null tileIcon.
ChangeLog:
2006-06-08 Robert Schuster <[EMAIL PROTECTED]>
* javax/swing/border/MatteBorder.java:
(MatteBorder(int,int,int,int,Icon)): Removed if-statement and exception
throwing.
(paintBorder): Added if-statement to abort painting early.
cya
Robert
Index: javax/swing/border/MatteBorder.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/border/MatteBorder.java,v
retrieving revision 1.11
diff -u -r1.11 MatteBorder.java
--- javax/swing/border/MatteBorder.java 21 Apr 2006 11:26:33 -0000 1.11
+++ javax/swing/border/MatteBorder.java 8 Jun 2006 10:45:11 -0000
@@ -1,5 +1,5 @@
/* MatteBorder.java --
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -147,9 +147,6 @@
{
super(top, left, bottom, right);
- if (tileIcon == null)
- throw new IllegalArgumentException();
-
this.tileIcon = tileIcon;
}
@@ -375,6 +372,10 @@
}
return;
}
+
+ // If this border has no icon end painting here.
+ if (tileIcon == null)
+ return;
/* Determine the width and height of the icon. Some icons return
* -1 if it is an image whose dimensions have not yet been
signature.asc
Description: OpenPGP digital signature
