fenerlitk fenerlitk - 6 months ago 20
Java Question

How can I add padding to a jtextfield

How can I add some padding to a jtextfield?
I've tried

tf.setMargin(new Insets(5,5,5,5));
which doesn't have any effect.

Answer

The problem you are having is that the UI is setting its own border on the text field, overriding the margin you set. You can see a warning to this effect in the javadoc of setMargin().

The solution is to let the UI set a border, then squeeze in another border of your own:

field.setBorder(BorderFactory.createCompoundBorder(
        field.getBorder(), 
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));
Comments