Se sei tu che disegni in paintComponent() la immagine di sfondo, va benissimo quanto ti ha detto Alex'87.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![]()
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.