1. package org.jr.awt.icon;
  2. /**
  3. * Copyright: Copyright (c) 2002-2004
  4. * Company: JavaResearch(http://www.javaresearch.org)
  5. * 最后更新日期:2003年2月16日
  6. * @author Cherami
  7. */
  8. import java.awt.*;
  9. import javax.swing.*;
  10. /**
  11. * 空白图标。
  12. * @since 0.1
  13. */
  14. public class BlankIcon
  15. implements Icon {
  16. static final int DEFAULT_SIZE = 16;
  17. private Color fillColor;
  18. private int size;
  19. /**
  20. * 构造一个缺省的BlankIcon。
  21. * @since 0.1
  22. */
  23. public BlankIcon() {
  24. this(null, DEFAULT_SIZE);
  25. }
  26. /**
  27. * 使用指定的填充色和大小构造一个BlankIcon。
  28. * @param color 填充色
  29. * @param size 图标大小
  30. * @since 0.1
  31. */
  32. public BlankIcon(Color color, int size) {
  33. if (color == null) {
  34. fillColor = Color.white;
  35. }
  36. else {
  37. fillColor = color;
  38. }
  39. if (size < 0) {
  40. this.size = DEFAULT_SIZE;
  41. }
  42. else {
  43. this.size = size;
  44. }
  45. }
  46. /**
  47. * 绘制图标
  48. * @param c 绘制组件
  49. * @param g 图形设备
  50. * @param x 绘制的x坐标的起始点
  51. * @param y 绘制的y坐标的起始点
  52. * @since 0.1
  53. */
  54. public void paintIcon(Component c, Graphics g, int x, int y) {
  55. g.setColor(fillColor);
  56. g.drawRect(x, y, size - 1, size - 1);
  57. }
  58. /**
  59. * 图标宽度。
  60. * @return 图标宽度
  61. * @since 0.1
  62. */
  63. public int getIconWidth() {
  64. return size;
  65. }
  66. /**
  67. * 图标高度。
  68. * @return 图标高度
  69. * @since 0.1
  70. */
  71. public int getIconHeight() {
  72. return size;
  73. }
  74. }