1 21 22 package com.sshtools.ui.swing; 23 24 import java.awt.Color ; 25 import java.awt.Component ; 26 import java.awt.Dimension ; 27 import java.awt.Graphics ; 28 import javax.swing.Icon ; 29 30 35 public class ColorIcon implements Icon { 36 private Dimension size; 38 private Color color; 39 private Color borderColor; 40 41 44 public ColorIcon() { 45 this(null); 46 } 47 48 53 public ColorIcon(Color color) { 54 this(color, null); 55 } 56 57 63 public ColorIcon(Color color, Color borderColor) { 64 this(color, null, borderColor); 65 } 66 67 74 public ColorIcon(Color color, Dimension size, Color borderColor) { 75 setColor(color); 76 setSize(size); 77 setBorderColor(borderColor); 78 } 79 80 88 public void paintIcon(Component c, Graphics g, int x, int y) { 89 g.setColor((color == null) ? Color.white : color); 90 g.fillRect(x, y, getIconWidth(), getIconHeight()); 91 92 if (borderColor != null) { 93 g.setColor(borderColor); 94 g.drawRect(x, y, getIconWidth(), getIconHeight()); 95 } 96 97 98 if(color == null) { 99 g.setColor(Color.black); 100 g.drawLine(x, y, x + getIconWidth(), y + getIconHeight()); 101 } 102 } 103 104 109 public void setSize(Dimension size) { 110 this.size = size; 111 } 112 113 118 public void setColor(Color color) { 119 this.color = color; 120 } 121 122 127 public void setBorderColor(Color borderColor) { 128 this.borderColor = borderColor; 129 } 130 131 136 public int getIconWidth() { 137 return (size == null) ? 16 : size.width; 138 } 139 140 145 public int getIconHeight() { 146 return (size == null) ? 16 : size.height; 147 } 148 } | Popular Tags |