In a GridBagLayout you can specify the margin of
whitespace around each Component by specifying the
Insets in the GridBagConstraints.
You can use JComponent.setBorder to set a
decorative border, or padding or margins.
For JButtons and JTextComponents such as JTextArea, there
is also a setMargin method that specifies the amount of
whitespace inside the Component between the edge and the
text inside. Unfortunately it will not work on JLabels.
I find it often does not work with JButtons either.
You can use the ipadx and ipady parameters is a GridBagLayout to make a Button bigger than it
needs to be just to contain the text. This is the most reliable way to get some
space around the text on a button.
And finally just to confuse you, there in the Container.insets method that gets the margin inside a Container. This is controlled by the native
GUI (Graphic User Interface) and cannot be changed.
Margins in CSS (Cascading Style Sheets) style sheets.