Source code: com/memoire/bu/BuColorIcon.java
1 /**
2 * @modification $Date: 2003/01/02 18:32:03 $
3 * @statut unstable
4 * @file BuColorIcon.java
5 * @version 0.36
6 * @author Guillaume Desnoix
7 * @email guillaume@desnoix.com
8 * @license GNU General Public License 2 (GPL2)
9 * @copyright 1998-2001 Guillaume Desnoix
10 */
11
12 package com.memoire.bu;
13
14 import com.memoire.bu.*;
15 import com.memoire.dnd.*;
16 import com.memoire.fu.*;
17 import com.memoire.re.*;
18
19
20 import java.awt.*;
21 import javax.swing.*;
22
23 /**
24 * A simple icon which displays a 16x16 rect filled with
25 * a given color.
26 */
27
28 public class BuColorIcon
29 implements Icon
30 {
31 private Color color_;
32 private Dimension size_;
33
34 public BuColorIcon(Color _color)
35 {
36 this(_color,null);
37 }
38
39 public BuColorIcon(Color _color, Dimension _size)
40 {
41 super();
42 color_=_color;
43 size_ =_size;
44 }
45
46 public int getIconHeight()
47 {
48 return (size_==null ? BuResource.BU.getDefaultMenuSize() : size_.height);
49 }
50
51 public int getIconWidth()
52 {
53 return (size_==null ? BuResource.BU.getDefaultMenuSize() : size_.width);
54 }
55
56 public void paintIcon(Component _c, Graphics _g, int _x, int _y)
57 {
58 if(color_!=null)
59 {
60 Color old=_g.getColor();
61 //BuLib.setColor(_g,color_);
62 _g.setColor(color_);
63 _g.fillRect(_x+3,_y+3,getIconWidth()-6,getIconHeight()-6);
64 Color bg=UIManager.getColor("MenuItem.background");
65 if(!Color.white.equals(bg))
66 {
67 _g.draw3DRect(_x+2,_y+2,getIconWidth()-5,getIconHeight()-5,true );
68 _g.setColor(bg);
69 _g.draw3DRect(_x+1,_y+1,getIconWidth()-3,getIconHeight()-3,false);
70 }
71 else
72 {
73 _g.setColor(Color.white);
74 _g.drawRect(_x+1,_y+1,getIconWidth()-3,getIconHeight()-3);
75 _g.setColor(Color.black);
76 _g.drawRect(_x+2,_y+2,getIconWidth()-5,getIconHeight()-5);
77 }
78 _g.setColor(old);
79 }
80 }
81 }