In your JSkinnableButton space runs through the marker and button border.
protected JSkinnableButton(){ super(); setLayout(new CardLayout()); // for interchangeability setMargin(new Insets(0,0,0,0)); setBorder(BorderFactory.createEmptyBorder()); add(new JSkinComponent(), "Skin"); }
Now the border, in particular, is part of what makes the button look like a button, but I assume you already have a plan for this ...
Rob i source share