code: public static DCPanel decorateWithShadow(final JComponent comp, final boolean outline, final int margin) {
          final DCPanel panel = new DCPanel();
          panel.setLayout(new BorderLayout());
          Border border = BORDER_SHADOW;
          if (outline) {
              border = new CompoundBorder(border, BORDER_THIN);
          }
          if (margin > 0) {
              border = new CompoundBorder(new EmptyBorder(margin, margin, margin, margin), border);
          }
          panel.setBorder(border);
          panel.add(comp, BorderLayout.CENTER);
          return panel;
      }
docs: Decorates a JComponent with a nice shadow border. Since not all JComponents handle opacity correctly, they will
  be wrapped inside a DCPanel, which actually has the border.
  
  @param comp
  @param outline
  @param margin
  @return