How to use margins and paddings with Java GridLayout

Alison picture Alison · Nov 25, 2012 · Viewed 24.5k times · Source

How can I keep a JLabel from displaying flush against the side of the frame? I have the same problem when using GridLayout or BoxLayout.

Here's an example where this happens:

JPanel content = new JPanel();
content.setLayout(new BoxLayout(content, BoxLayout.Y_AXIS));
content.add(new JLabel("Hello World"));

CSS has the concept of margins and padding. Does Java have similar?

I still want Left justified but with a few pixels of space between the edge and the label.

Answer

Reimeus picture Reimeus · Nov 25, 2012

You could set an empty border for the JLabel to move the component over a few pixels from the left edge:

label.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0));