10

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

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
n002213f
  • 7,805
  • 13
  • 69
  • 105

3 Answers3

12

Have you tried the setMargin method?

Petar Minchev
  • 46,889
  • 11
  • 103
  • 119
12

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)
   )
);
Aerospace
  • 1,270
  • 12
  • 19
Luhar
  • 1,859
  • 2
  • 16
  • 23
2

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

Cristian Babarusi
  • 1,455
  • 14
  • 19