fenerlitk
fenerlitk

Reputation: 5814

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.

Upvotes: 27

Views: 28769

Answers (6)

KD Techniques
KD Techniques

Reputation: 3

yourTextFeildVariable.setBorder(BorderFactory.createCompoundBorder(yourTextFeildVariable.getBorder(), BorderFactory.createEmptyBorder(0, 5, 0, 0)));

This is working 100%

enter image description here

Upvotes: 0

JMorgan
JMorgan

Reputation: 85

I know this is years too late, but actually, if you want a consistent look and feel in Java, you should be editing the UI so every text field you create doesn't need its own special code. So, taking from Russel Zahniser's example above:

Border tfBorder = UIManager.getBorder("TextField.border");
Border newBorder = BorderFactory.createCompoundBorder(tfBorder, 
        BorderFactory.createEmptyBorder(5, 5, 5, 5)));

UIManager.setBorder("TextField.border", newBorder);

Upvotes: 2

donprecious iyeritufu
donprecious iyeritufu

Reputation: 169

You can apply this to a textbox already created with a border

jTextField1.setBorder(BorderFactory.createCompoundBorder(jTextField1.getBorder(), BorderFactory.createEmptyBorder(6, 6, 6, 6)));

Upvotes: -1

spencer.sm
spencer.sm

Reputation: 20544

The simplest way is using BorderFactory

field.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

Upvotes: 4

Russell Zahniser
Russell Zahniser

Reputation: 16364

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)));

Upvotes: 48

mKorbel
mKorbel

Reputation: 109813

you have look at CompoundBorder, there you can set LineBorder(Color.gray, 1) and with

EmptyBorder(5, 5, 5, 5)

Upvotes: 5

Related Questions