{ if (c instanceof AbstractButton) { UIDefaults defaults; defaults = UIManager.getLookAndFeelDefaults(); Color hi = defaults.getColor("CheckBox.highlight"); Color low = defaults.getColor("CheckBox.darkShadow"); Color sel = defaults.getColor("CheckBox.foreground"); Color dim = defaults.getColor("CheckBox.shadow"); Polygon check = new Polygon(new int[] {x+3, x+3, x+8}, new int[] {y+5, y+9, y+3}, 3); AbstractButton b = (AbstractButton) c; Color saved = g.getColor(); if (b.isEnabled()) { g.setColor(low); g.drawRect(x, y, 10, 10); g.setColor(hi); g.drawRect(x+1, y+1, 10, 10); if (b.isSelected()) { g.setColor(sel); if (b.isSelected()) { g.drawLine(x+3, y+5, x+3, y+8); g.drawLine(x+4, y+5, x+4, y+8); g.drawLine(x+3, y+8, x+8, y+3); g.drawLine(x+4, y+8, x+8, y+3); } } } else { g.setColor(hi); g.drawRect(x, y, 10, 10); if (b.isSelected()) { g.drawLine(x+3, y+5, x+3, y+9); g.drawLine(x+3, y+9, x+8, y+3); } } g.setColor(saved); } }
{ g.translate(x, y);  Color saved = g.getColor();  g.setColor(Color.BLACK);  g.fillPolygon(new Polygon(new int[] { 3, 9, 3 }, new int[] { 2, 6, 10 }, 3));  g.setColor(saved); g.translate(-x, -y); }
        public void paintIcon(Component c, Graphics g, int x, int y)        {          if (c instanceof AbstractButton)            {              UIDefaults defaults;              defaults = UIManager.getLookAndFeelDefaults();              Color hi = defaults.getColor("CheckBox.highlight");              Color low = defaults.getColor("CheckBox.darkShadow");              Color sel = defaults.getColor("CheckBox.foreground");              Color dim = defaults.getColor("CheckBox.shadow");              Polygon check = new Polygon(new int[] {x+3, x+3, x+8},                                          new int[] {y+5, y+9, y+3}, 3);              AbstractButton b = (AbstractButton) c;              Color saved = g.getColor();              if (b.isEnabled())                {                  g.setColor(low);                  g.drawRect(x, y, 10, 10);                  g.setColor(hi);                  g.drawRect(x+1, y+1, 10, 10);                  if (b.isSelected())                    {                      g.setColor(sel);                      if (b.isSelected())                        {                          g.drawLine(x+3, y+5, x+3, y+8);                          g.drawLine(x+4, y+5, x+4, y+8);                          g.drawLine(x+3, y+8, x+8, y+3);                          g.drawLine(x+4, y+8, x+8, y+3);                        }                    }                }              else                {                                    g.setColor(hi);                  g.drawRect(x, y, 10, 10);                  if (b.isSelected())                    {                      g.drawLine(x+3, y+5, x+3, y+9);                      g.drawLine(x+3, y+9, x+8, y+3);                    }                }              g.setColor(saved);            }        }