728x90
TUI (Text User Interface)
- 프로그램 실행을 Text에 의존해서 실행
- ex) 메뉴에서 1을 누르면 추가, 2를 누르면 검색, 3을 누르면 종료.
AWT (Abstract Window Toolkit)
- GUI(Graphic User Interface)환경을 구축하기위한 class들의 묶음 java.awt.*;
-
Component : Menu, Button, Label, Choice, Checkbox, List TextField, TextArea, Scrollbar...
-
Container : Component의 객체를 생성한 후에 그 객체를 배치한다.
Object
| Component | Container | ------------------------ | | Panel Window | | Applet Frame
FlowLayout BorderLayout (default layout)
Panel : display(x) , 한 영역에 두개 이상의 컴포넌트를 붙일때 사용.컴포넌트 속성을 지정하기위해 사용.-> 작은도화지Frame : display(o)-> 큰 도화지
- Applet은 현재는 보안에 취약해서 안씀
- Event 처리: Component에 기능을 실제로 부여하는 것.
Container의 배치방법(LayoutManager)
: 컴포넌트를 컨테이너에 어떻게 위치시킬지 방법을 정의.
Frame f = new frame();
f.setLayout(new FlowLayout());
- FlowLayout(가운데 정렬): 가운데를 기준으로 해서 Component들이 배치. (Frame크기에 따라 배치가 변경)
- BorderLayout(방위정렬): 방위에 따라 사용자가 임의 배치 가능 (동,서,남,북, 중앙)
- GridLayout(같은 크기 정렬, 행열표현 정렬): Container의 크기를 같은 크기로 나누어 Component를 붙인다.
- CardLayout(같은 위치 정렬): 같은 위치에 여러개의 Component를 배치할 때 사용. 정리된 카드를 생각
GUI 예제
public class TextFieldAreaTest extends Frame {
Button b1, b2;
TextField tf1, tf2;
TextArea ta;
Label la;
Panel southp,northp; //패널 선언. 한영역에 두개이상의 컴포넌트를 붙일때 사용
public TextFieldAreaTest() {
//상단 타이틀
setTitle("TextFieldArea 테스트");
//설정
//new TextField(int columns); //columns=> 글자수가 들어가는 너비
tf1 = new TextField("기본값",10);//상단 텍스트
tf2 = new TextField(10);//하단 텍스트
ta = new TextArea();
la = new Label("파일이름:");
//패널 설정
southp = new Panel(); //컨테이너
southp.setBackground(Color.pink);
southp.setForeground(Color.red); //글자색
southp.add(la);
southp.add(tf2);
//southp.setLayout(new FlowLayout());=> Panel 기본값은 FlowLayout
northp = new Panel();
northp.setBackground(Color.green);
northp.add(tf1);
//setLayout(new BorderLayout()); => Frame의 기본값은 BorderLayout
add("North", northp);
add("Center", ta);
add("South",southp);
setSize(300, 300);
setVisible(true);
}
void onGui() {
// tf1.getBackground();
}
public static void main(String[] args) {
new TextFieldAreaTest();
}
}
/*컬러를 지정하는 다른방법(rgb)*/
Color c = new Color(int red, int green, int blue);
//매개변수의 각 정수는 0~255 사이의 값
Color c = new Color(255,0,0);
northp.setBackground(c);
northp.setBackground(new Color(255,0,0));
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 자바 Swing JTable, DefaultTableModel (0) | 2019.04.30 |
---|---|
[JAVA] 자바 GUI Event 처리 방법 (0) | 2019.04.30 |
[JAVA] 자바 내부클래스(Inner Class/비 정적 중첩클래스) (0) | 2019.04.29 |
[JAVA] 자바 예외처리(Exception) 예제 (0) | 2019.04.26 |
[JAVA] 자바 String 클래스 종류 및 사용법 (0) | 2019.04.25 |