Originariamente inviato da Dreamer89
Lo so ma a me interessa proprio lo spazio, perchè poi dovrei inserire anche un'immagine di sfondo al JPanel, e con i bordi non credo sia la stessa cosa
Se sei tu che disegni in paintComponent() la immagine di sfondo, va benissimo quanto ti ha detto Alex'87.

Infatti nei componenti Swing, il paint() è "spezzato" in 3 parti (vedi descrizione qui), prima viene invocato paintComponent() (in cui tu disegni lo sfondo) e poi solo dopo viene invocato paintBorder(). Ma siccome un EmptyBorder in realtà non disegna un bel nulla, se nel tuo paintComponent parti a disegnare lo sfondo da (0,0), allora disegni anche sui bordi. L'effetto finale è che il bordo effettivamente "sposta" i componenti nel panel (perché il bordo viene preso in considerazione nel layout) ma tu disegni su tutto il componente, compresi i bordi.