TextField 와 TextArea
텍스트 필드는 한줄로 되어있는 입력 컴포넌트이고
텍스트 에어리어는 여러줄에 걸쳐 입력을 받을수 있는 문자열 입력 컴포넌트입니다.
로그인 화면을 만들때 활용할만한 두가지이다.
setEchoChar() 메서드를 통해서 비밀번호 입력시 다른 문자 ( * , # ,% ...)로 바꿔서 출력할수있다.
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Label;
import java.awt.TextField;
public class TextField_1 extends Frame {
public TextField_1(String str) {
super(str);
setLayout(new FlowLayout());
// TextField 와 TextArea
// 텍스트 필드는 한줄로 되어있는 입력 컴포넌트이고 텍스트 아레아는 여러줄에
// 걸쳐 입력을 받을수 있는 문자열 입력 컴포넌트입니다.
Label lbl1 = new Label("아이디 입력 :");
Label lbl2 = new Label("비밀번호 입력 :");
TextField txt1 = new TextField("ID", 20);
TextField txt2 = new TextField("korea", 20);
// korea 는 txt2 컴포넌트 위에 찍힘
// 초기 문자열 , 20은 20 개의 문자를 입력가능한 크기지정
txt2.setEchoChar('*'); // 비밀번호를 입력하면 * 가 찍힌다.
add(lbl1);
add(lbl2);
add(txt1);
add(txt2);
setSize(200, 200);
setVisible(true);
}
public static void main(String[] args) {
new TextField_1("Txt~~");
}
}

ScrollPane
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.ScrollPane;
import java.awt.TextArea;
public class ScrollPane_1 extends Frame{
public ScrollPane_1(String str) {
super(str);
ScrollPane srp = new ScrollPane();
srp.setSize(220,200);
// ScrollPane
// 스크롤펜은 하나의 자식 컴포넌트만을 가질수 있습니다.
// 따라서 스크롤팬의 여러개의 컴포넌트를 포함시키기 위해서는
// 패널을 스크롤팬에 붙이고 , 패널위에 컴포넌트를 붙이는 것이 좋습니다.
Panel panel = new Panel();
panel.setLayout(new BorderLayout());
TextArea txt = new TextArea("텍스트 에어리어");
txt.setBackground(new Color(125,125,125));
txt.setForeground(new Color(255,0,125));
Panel panel2 = new Panel();
panel2.setLayout(new BorderLayout());
TextArea txt2 = new TextArea("텍스트 에어리어22222");
txt2.setBackground(new Color(125,0,255));
txt2.setForeground(new Color(12,255,125));
panel.add("North",new Button("버튼"));
panel.add("Center",txt);
panel.add("South",new Button("확인"));
panel2.add("North",new Button("버튼"));
panel2.add("Center",new TextArea("3번째 방법")).setBackground(new Color(255,0,125));
panel2.add("South",new Button("확인"));
panel2.add("East",txt2);
srp.add(panel); // 스크롤팬에 add한후 밑에서 Frame에 다시 add 해준다.
add("Center",srp);
setSize(200,200);
setVisible(true);
}
public static void main(String[] args) {
new ScrollPane_1("스크롤팬~~");
}
}

위 사진과 같이 스크롤팬을 활용하면 크기가 작을때는 스크롤로 바꿔서 화면을 볼수있게하고
크기가 맞을때는 스크롤바가 사라지게 된다.
=> 자동 적으로 스크롤이생겨서 크기가 조금 안맞더라도편리하게 활용가능하다.
Layout
자바는 일정한 모양으로 컴포넌트를 재배치 할수 있도록 하기위해
Layout Manager 를 제공합니다. 레이아웃은 컴포넌트를 어떻게 배치할 것인가를
정하는 규칙이고 이를 설정하는 것이 레이아웃 매니저 입니다.
컴포넌트 위치를 결정하는 방법은 두가지가 있습니다.
1. 컨테이너에 add() 메서드를 사용하는 순서에 따라 위치가 결정됩니다.
2. 레이아웃을 매니저에 따라 위치가 정해 집니다.
레이아웃 관리자 : FlowLayout , GridLayout , BorderLayout , CardLayout 등이 있습니다.
레이아웃 매니저는 컴포넌트를 어떻게 배치하는지를 결정하는 클래스이다.
레이아웃을 생성하지않으면 기본적으로 BorderLayout 으로 적용된다.
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
public class BorderLayout_1 extends Frame {
// BorderLayout
// 보더레이아웃은 East ,West , South , North , Center 로 화면을 분할합니다.
// 중앙에는 중요한 컴포넌트를 두고 , 그주변에 보조 컴포넌트를 배치할 때 사용합니다.
// Frame 컨테이너의 기본 레이아웃입니다.
BorderLayout bb1 = new BorderLayout(); // 생략해도 보더 레이아웃이다 Frame 은 기본이 보더 레이아웃을 가지고있기때문이다.
public BorderLayout_1(String str) {
super(str);
setLayout(bb1);
add("North", new Button("북쪽")).setBackground(new Color(125, 255, 255));
add("South", new Button("남쪽")).setBackground(new Color(125, 0, 255));
add("East", new Button("동쪽")).setBackground(new Color(125, 0, 125));
add("West", new Button("서쪽")).setBackground(new Color(255, 55, 55));
add("Center", new Button("중앙")).setBackground(new Color(75, 75, 0));
setSize(300, 300);
setVisible(true);
}
public static void main(String[] args) {
new BorderLayout_1("보더레이아웃 테스트~~");
}
}

BorderLayout 을 활용해서 동 서 남 북 중앙으로 나눠봤다 .
'국비 과정 > Java' 카테고리의 다른 글
| 국비 - 0818( 네트워크 ) (2) | 2022.08.18 |
|---|---|
| 국비 - 0804 ( Event ) (0) | 2022.08.08 |
| 국비 - 0802 ( Checkbox , Scrollbar ) (0) | 2022.08.02 |
| 국비 - 0801 ( Frame , Button , Label ) (0) | 2022.08.01 |
| 국비 - 0727 (StringBuffer , 난수) (0) | 2022.07.27 |