@Override
    public void paint(Graphics g) {
      Graphics2D g2d = (Graphics2D)g;
      Composite old = g2d.getComposite();
      try {
        g2d.setComposite(AlphaComposite.SrcOver);
        super.paint(g);
      }
      finally {
        g2d.setComposite(old);
      }
    }
@Override
    public void paint(Graphics g)