JTextField는 JTextComponent 클래스의 하위 클래스로, 사용자가 한 줄(single-line) 형식으로 텍스트를 입력할 수 있도록 지원하는 Swing의 핵심 컴포넌트 중 하나입니다. JTextField는 컴포넌트 내부에 입력이 발생했을 때 ActionListener 인터페이스를 통해 이벤트를 처리하며, 대표적인 메서드로는 setText(), getText(), setBorder(), setEnabled() 등이 있습니다.
JTextField에 패딩 추가하기
JTextField에 여백(패딩)을 추가하려면 JTextComponent 클래스가 제공하는 setMargin(Insets m) 메서드를 사용하면 됩니다. 이 메서드는 텍스트 필드의 테두리와 텍스트 사이의 간격을 상, 하, 좌, 우 방향으로 각각 지정할 수 있어 입력 영역의 가독성과 디자인을 개선하는 데 유용합니다.
문법(Syntax)
public void setMargin(Insets m)
Insets 객체는 생성자 new Insets(top, left, bottom, right) 형태로 만들며, 각 방향의 여백 크기를 픽셀 단위로 설정합니다.
예제 코드(Example)
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JTextfieldPaddingTest extends JFrame {
private JTextField jtf;
public JTextfieldPaddingTest() {
jtf = new JTextField("Welcome to Tutorials Point");
// 네 방향 모두 10픽셀의 패딩 적용
jtf.setMargin(new Insets(10, 10, 10, 10));
add(jtf, BorderLayout.NORTH);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args) {
new JTextfieldPaddingTest();
}
}실행 결과(Output)
위 코드를 실행하면 텍스트 필드 안의 문자열 주변에 10픽셀 여백이 적용되어, 텍스트가 테두리에 붙지 않고 여유 있게 표시되는 것을 확인할 수 있습니다.
