JTextArea and JTextField internal padding on text

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

Have you tried the setMargin method?