setMargin(Insets)
JTextField kế thừa JTextComponent, có phương thức setMargin(Insets) để đặt khoảng đệm (padding) bên trong viền, giữa viền và text.
Cú pháp
public void setMargin(Insets m)
Insets(int top, int left, int bottom, int right)
Ví dụ
import java.awt.*;
import javax.swing.*;
public class JTextFieldPaddingDemo extends JFrame {
public JTextFieldPaddingDemo() {
JTextField tf = new JTextField("Welcome to Tutorials Point");
// Padding 10px 4 phía
tf.setMargin(new Insets(10, 10, 10, 10));
add(tf, BorderLayout.NORTH);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(JTextFieldPaddingDemo::new);
}
}
Kết quả

Lưu ý: Padding chỉ hoạt động nếu Border của text field là BorderUIResource (mặc định). Nếu set custom border, padding có thể bị bỏ qua. Giải pháp: dùng BorderFactory.createCompoundBorder(border, BorderFactory.createEmptyBorder(...)).