[자바 Java]
자바 스윙 JTextArea 크기 변경 자유롭게 Resizeable
말하는펭귄
2020. 9. 28. 22:00
728x90
반응형
자바 스윙으로 간단한 방명록 프레임을 만들어 보았습니다.
근데 여기서 제가 하고 싶었던 것은 사용자가 드래그하여 창 크기를 변경할 때마다 JTextArea의 크기도 같이 조절되게 하는 것이었죠.
결론부터 말하자면 아래와 같습니다.
JTextArea의 크기를 자동 조절되게 하는 법 >>
BorderLayout.CENTER에 JTextArea 붙이기
아래의 코드의 15~22줄을 참고하시길 바랍니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import javax.swing.*;
import java.awt.*;
public class GuestBookFrame extends JFrame {
public GuestBookFrame() {
setTitle("방명록 프레임");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container c = getContentPane();
c.setLayout(new BorderLayout());
c.add(new CenterPanel(),BorderLayout.CENTER);
c.add(new SouthPanel(),BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
class CenterPanel extends JPanel {
public CenterPanel() {
setLayout(new BorderLayout());
JTextArea ta = new JTextArea();
JScrollPane sp = new JScrollPane(ta);
add(sp, BorderLayout.CENTER);
}
}
class SouthPanel extends JPanel {
public SouthPanel() {
setLayout(new FlowLayout());
add(new JButton("확인"));
add(new JButton("취소"));
}
}
public static void main(String[] args) {
new GuestBookFrame();
}
}
|
cs |
아래의 프로그램을 실행하면 다음과 같은 GUI가 탄생합니다.
우측하단을 드래그하여 창 크기를 조절하면 JTextArea도 그에 맞게 자동으로 크기가 조절됩니다.
저는 JScrollPane도 첨가하여 스크롤까지 가능한 텍스트 입력창을 만들었지만 경우에 따라 스크롤이 필요 없다면 JScrollPane에 JTextArea를 할당하여 JScrollPane을 add하지 않고 JTextArea만 add하시면 될 것 같습니다.
728x90
반응형