1. JTextArea 기본 사용법
JTextArea는 여러 줄의 텍스트를 입력하고 표시할 수 있는 컴포넌트로 기본적으로 생성자에 행(row)과 열(column)의 크기를 지정하여 생성할 수 있습니다. 일반적으로 JScrollPane과 함께 사용하여 스크롤 기능을 추가하는 것이 일반적입니다.
1-1. columns 값이 영향을 미치는 경우
FlowLayout은 preferredSize를 반영하는 레이아웃이기 때문에 columns 값이 JTextArea의 가로 크기에 직접적으로 영향을 미칩니다. columns 값은 텍스트 영역의 기본적인 너비를 설정하며 이 값이 커지면 JTextArea의 가로 크기도 넓어지고 작아지면 가로 크기도 좁아집니다. columns 값은 사용자가 한 줄에 표시할 수 있는 최대 문자 수를 의미하므로 이 값이 변경되면 텍스트가 줄바꿈되는 방식에도 영향을 미칠 수 있습니다.
1-2. columns 값이 영향을 미치지 않는 경우
BorderLayout, BoxLayout, GridLayout은 모두 JTextArea의 preferredSize를 무시하거나 자체적으로 크기를 조정하는 레이아웃이기 때문에 columns 값이 실제 가로 너비에 영향을 주지 않습니다. 각 레이아웃은 자식 컴포넌트의 크기를 결정하는 방식이 다르기 때문에 columns 값이 가로 크기에 영향을 미치지 않습니다. 이와 같은 레이아웃에서는 JTextArea의 가로 크기가 레이아웃 관리자의 규칙에 따라 결정됩니다.
2. JTextArea 테두리 설정
JTextArea는 텍스트 입력 공간에만 집중하는 컴포넌트로, 기본적으로 시각적 장식이나 테두리가 필요 없다고 간주하여 테두리가 기본적으로 없습니다.
2-1. 단색 테두리 추가
단색 테두리를 추가할 때 columns 값이 영향을 받는 레이아웃에서는 JTextArea의 크기가 설정한 크기보다 더 크게 표시됩니다. 이는 원래 설정된 크기 외에 테두리의 크기만큼 추가로 크기가 늘어나기 때문입니다. 테두리 자체가 추가적인 공간을 차지하여 전체적인 크기가 커지는 현상이 발생합니다. 반면에 columns 값이 영향을 미치지 않는 레이아웃에서는 이런 크기 변화가 일어나지 않습니다.
2-2. 여백 추가
여백을 추가하는 것도 테두리와 비슷한 방식으로 크기에 영향을 미칩니다. columns 값이 영향을 받는 레이아웃에서는 여백이 추가되면 전체 크기가 커지며 반면 columns 값이 영향을 미치지 않는 레이아웃에서는 여백 추가가 크기에 영향을 주지 않습니다.
2-3. 여백과 단색 동시 테두리 추가
2-4. 이중 테두리 추가
3. JTextArea 폰트 변경
4. JTextArea 색상 설정
4-1. 배경색
4-2. 글자색
4-3. 커서색
4-4. 선택된 글자색
4-5. 선택된 배경색
기본적으로 텍스트를 선택하면 배경색은 파란색으로 표시됩니다.
4-6. 배경 투명화
텍스트 영역의 배경을 투명하게 설정하면 아래에 있는 배경 이미지나 색상이 그대로 보입니다. 이 설정은 주로 커스텀한 디자인을 구현하거나 배경을 강조할 때 유용하게 사용됩니다. 텍스트는 여전히 정상적으로 표시되며 투명화된 배경이 텍스트의 가독성에 영향을 주지 않습니다.
5. JTextArea 자동 줄 바꿈
JTextArea 내부에서 텍스트가 컴포넌트의 가로 너비를 넘어갈 경우 자동으로 줄이 바뀌게 되며 이때 줄바꿈이 글자 단위로 이루어져 단어의 중간에서 줄이 바뀔 수 있습니다.
6. JTextArea 정렬
JTextArea는 기본적으로 텍스트의 정렬 기능(가운데 정렬, 오른쪽 정렬 등) 을 지원하지 않습니다.
JTextField나 JLabel처럼 setHorizontalAlignment() 메서드를 사용할 수 없으며 모든 텍스트는 기본적으로 왼쪽 정렬로 고정되어 있습니다.
'JAVA' 카테고리의 다른 글
[JAVA] Color 설정과 커스터마이징 (82) | 2025.04.12 |
---|---|
[JAVA] JTextField 커스텀마이징 2 (33) | 2025.03.27 |
[JAVA] JTextField 커스텀마이징 1 (53) | 2024.12.16 |