Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JTextArea and JTextField internal padding on text

I would like to increase the spacing / padding / insets for the JTextField and JTextArea. Effectively increase the spacing between the two red lines in the image below:

alt text

like image 591
n002213f Avatar asked Feb 18 '10 07:02

n002213f


3 Answers

Have you tried the setMargin method?

like image 66
Petar Minchev Avatar answered Sep 21 '22 02:09

Petar Minchev


You could also try using an EmptyBorder to put in gaps between the two components. If you already have a Border, you can use that in conjunction with an EmptyBorder to create a CompoundBorder. In the code fragment below, a new CompoundBorder is created that has a TitledBorder and an EmptyBorder which enforces a padding of 1 pixed around the component.

testPanel.setBorder(
   javax.swing.BorderFactory.createCompoundBorder(
      javax.swing.BorderFactory.createTitledBorder(
         null, "Border Title",
         javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
         javax.swing.border.TitledBorder.DEFAULT_POSITION,
         new java.awt.Font("Verdana", 1, 11)
      ),
      javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)
   )
);
like image 33
Luhar Avatar answered Sep 23 '22 02:09

Luhar


The simplest way to achieve this is:

yourVariableName.setMargin(new Insets(2,2,2,2));

The digits represent (top, left, bottom, right). Works for both JTextField and JTextArea

like image 27
Cristian Babarusi Avatar answered Sep 20 '22 02:09

Cristian Babarusi