1. TextField
# 한 줄의 텍스트를 편집할 수 있는 텍스트 구성 요소
1) Constructor
- TextField()
- TextField(int columns): columns의 수만큼 빈 줄이 생기는 텍스트 필드 (A의 크기 기준)
- TextField(String text): text로 초기화된 텍스트 필드
- TextField(String text, int columns)
2) Method
- int getColumns(): 텍스트 필드의 줄 수를 반환한다.
- void setColumns(int colunms): 텍스트 필드의 columns 만큼 지정한다.
- void setText(String t): 텍스트 필드의 텍스트를 t로 초기화한다.
# TextField 연습하기
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 37 38 39 40 41 42 43 44 | package guiex; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextField; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class GuiTest04_TextField extends Frame { TextField tf1, tf2, tf3, tf4; public GuiTest04_TextField() { // #1. 컨테이너 super("TextField"); setSize(400, 100); setLayout(new FlowLayout()); // #2. TextField 컴포넌트 tf1 = new TextField(); tf2 = new TextField(15); // 알파벳 A 기준 너비 tf3 = new TextField("글작성"); tf4 = new TextField("글작성", 15); tf2.setColumns(20); tf2.setText("글작성을 합니다."); System.out.println("tf2.getColumns: " + tf2.getColumns()); // #3. add() add(tf1); add(tf2); add(tf3); add(tf4); setVisible(true); } public static void main(String[] args) { } } # 실행 결과 tf2.getColumns: 20 | cs |
# 실행 화면
2. TextArea
# 여러 줄의 텍스트를 보여주고 편집을 허용하거나 읽기 전용으로 설정할 수 있는 텍스트 구성 요소
1) Constructor
- TextArea()
- TextArea(int rows, int columns): rows 행, columns 열만큼의 빈 줄이 포함된 텍스트 영역 (A의 크기 기준)
- TextArea(String text): text로 초기화된 텍스트 영역
- TextArea(String text, int rows, int columns)
- TextArea(String text, int rows, int columns, int scrollbars): 텍스트 초기화, 행과 열의 수, 스크롤바의 상태를 지정하는 텍스트 영역
2) Field
- static int SCROLLBAS_NONE: 스크롤바가 생기지 않음 (3)
- static int SCROLLBAS_HORIZONTAL_ONLY: 가로 스크롤바만 생김 (2)
- static int SCROLLBAS_VERTICAL_ONLY: 세로 스크롤바만 생김 (1)
- static int SCROLLBAS_BOTH: 가로, 세로 스크롤바 모두 생김 (0)
3) Method
- void append(String str): 현재 텍스트 영역에 문자열 str을 붙임
- int getColumns(): 현재 열의 수를 가져옴
- int getRows(): 현재 행의 수를 가져옴
- int getScrollbarVisibility(): 현재 사용된 스크롤바의 상태를 가져옴
- void insert(String str, int pos): pos 위치에 문자열 str을 삽입함
- void replaceRange(String str, int start, int end): start부터 end 사이의 문자열을 문자열 str로 대치함
- void setColumns(int columns): 열의 수를 지정함
- void setRows(int rows): 행의 수를 지정함
# TextArea 연습하기
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | package guiex; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.TextArea; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class GuiTest04_TextArea extends Frame { TextArea ta1; public GuiTest04_TextArea() { // #1. 컨테이너 super("TextArea"); setSize(400, 300); setLayout(new FlowLayout()); // #2. TextArea 컴포넌트 ta1 = new TextArea("내용을 입력하세요.", 10, 30, TextArea.SCROLLBARS_VERTICAL_ONLY); ta1.append("여기에다가 입력하시면 됩니다."); ta1.insert("*insert*", 10); ta1.replaceRange("*replace*", 30, 32); ta1.setColumns(40); ta1.setRows(15); System.out.println("ta1.getColumns: " + ta1.getColumns()); System.out.println("ta1.getRows: " + ta1.getRows()); System.out.println("ta1.getScrollbarVisibility: " + ta1.getScrollbarVisibility()); System.out.println("\nSCROLLBARS"); System.out.println("SCROLLBARS_BOTH: " + TextArea.SCROLLBARS_BOTH); System.out.println("SCROLLBARS_VERTICAL_ONLY: " + TextArea.SCROLLBARS_VERTICAL_ONLY); System.out.println("SCROLLBARS_HORIZONTAL_ONLY: " + TextArea.SCROLLBARS_HORIZONTAL_ONLY); System.out.println("SCROLLBARS_NONE: " + TextArea.SCROLLBARS_NONE); // #3. add() add(ta1); setVisible(true); } public static void main(String[] args) { } } # 실행 결과 ta1.getColumns: 40 ta1.getRows: 15 ta1.getScrollbarVisibility: 1 SCROLLBARS SCROLLBARS_BOTH: 0 SCROLLBARS_VERTICAL_ONLY: 1 SCROLLBARS_HORIZONTAL_ONLY: 2 SCROLLBARS_NONE: 3 |
# 실행 화면
'JAVA > JAVA2' 카테고리의 다른 글
JAVA2_day11 | GUI (Checkbox, CheckboxGroup) (0) | 2018.01.30 |
---|---|
JAVA2_day11 | GUI (Label) (0) | 2018.01.30 |
JAVA2_day11 | GUI (Button) (0) | 2018.01.29 |
JAVA2_day10 | GUI (1) (0) | 2018.01.23 |
JAVA2_day08 | String 메소드 연습문제 (WordChange) (0) | 2018.01.23 |