Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Thêm padding cho JTextField trong Java Swing

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ả

Thêm padding cho JTextField trong Java Swing

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(...)).