fix: default icons are not always available

This commit is contained in:
fros4943 2010-05-19 17:38:46 +00:00
parent b229e9aa59
commit 83a1819992

View File

@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE. * SUCH DAMAGE.
* *
* $Id: ProjectDirectoriesDialog.java,v 1.13 2010/05/19 17:32:53 fros4943 Exp $ * $Id: ProjectDirectoriesDialog.java,v 1.14 2010/05/19 17:38:46 fros4943 Exp $
*/ */
package se.sics.cooja.dialogs; package se.sics.cooja.dialogs;
@ -445,22 +445,36 @@ class DirectoryTreePanel extends JPanel {
return this; return this;
} }
class CheckboxIcon implements Icon { class CheckboxIcon implements Icon {
Icon icon = (Icon) UIManager.get("CheckBox.icon"); Icon icon;
Color color; Color color;
public CheckboxIcon(Color color) { public CheckboxIcon(Color color) {
this.icon = (Icon) UIManager.get("CheckBox.icon");
this.color = color; this.color = color;
} }
public int getIconHeight() { public int getIconHeight() {
if (icon == null) {
return 18;
}
return icon.getIconHeight(); return icon.getIconHeight();
} }
public int getIconWidth() { public int getIconWidth() {
if (icon == null) {
return 18;
}
return icon.getIconWidth(); return icon.getIconWidth();
} }
public void paintIcon(Component c, Graphics g, int x, int y) { public void paintIcon(Component c, Graphics g, int x, int y) {
icon.paintIcon(c, g, x, y); if (icon != null) {
icon.paintIcon(c, g, x, y);
} else {
g.setColor(Color.WHITE);
g.fillRect(x, y, 18, 18);
g.setColor(Color.BLACK);
g.drawRect(x, y, 18, 18);
}
if (color != null) { if (color != null) {
g.setColor(color); g.setColor(color);
g.fillRect(x, y, icon.getIconWidth(), icon.getIconHeight()); g.fillRect(x, y, getIconWidth(), getIconHeight());
} }
} }
} }