컴퓨터프로그래밍/JAVA

AWT 컴포넌트 - 판넬(Panel) 및 레이아웃 배치방법

zelkova 2016. 5. 21. 10:10

<목차로 돌아가기>


  판넬 사용해보기

컨테이너 자체만으로는 특별한 동작을 할 수 없고 다른 컴포넌트를 포함할 때만 의미가 있음


컨테이너도 컴포넌트 클래스의 하위 클래스 이므로 하나의 컴포넌트로 취급되며 다른 컨테이너에 부착할 수 없음



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

 import java.awt.*;


 class FrameTest 

 {

    private Panel p1 = new Panel();

    private Panel p2 = new Panel();


    public FrameTest()

    {

       p1.setBackground(new Color(255,111,111));

       p2.setBackground(new Color(111,255,111));

       this.setLayout(new GridLayout(1,2));

       this.add(p1);

       this.add(p2);       

    }


    public static void main(String[] args) 

    { 

        Frame f = new FrameTest();

        f.setTitle("Panel연습");

        f.setSize(200,100);

        f.setVisible(true);

    } 

 }


12줄은 배치방법을 나타내는 소스입니다. 아래에서 더 알아보겠습니다.




  배치방법


레이아웃 해제 방법

레이아웃이 자동적으로 설정되어 .setSize가 안먹힐때가 있다.

이럴때는 '.setLayout(null)' 을 사용하면 레이아웃을 해제할 수 있다.

팁하나 더 주자면 컴포넌트 배치는 .setBound() 메소드로 하면 된다.


FlowLayout


컴포넌트를 컨테이너의 왼쪽부터 차례대로 하나씩 오른쪽 방향으로 채워가고 오른쪽 끝에 다다르면 다음줄로 넘어갑니다.


프레임 이름.setLayout(new FlowLayout(1,2));

f.add(new Button("1"));

f.add(new Button("2"));

f.add(new Button("3"));


BorderLayout


Frame, Dialog와 같은 윈도우 클래스를 위한 기본적 레이아웃으로 각 영역을 아래 그림처럼 5개 영역으로 구분한 다음 지정된 자리에 컴포넌트를 배치합니다.




프레임 이름.setLayout(new BorderLayout(1,2)); //생략하고 아래만 써도 됨.

f.add("North",new Button("위"));

f.add("West",new Button("왼쪽"));

f.add("Center",new Button("가운데"));

f.add("East",new Button("오른쪽"));

f.add("South",new Button("아래"));



GridLayout


행과 열의 수를 지정하여 균등한 크기의 행, 열에 컴포넌트를 배치한다.



프레임 이름.setLayout(new FlowLayout(3,2));

f.add(new Button("1"));

f.add(new Button("2"));

f.add(new Button("3"));

f.add(new Button("4"));

f.add(new Button("5"));

f.add(new Button("6"));

 

반응형

'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글

Java_이벤트_adapter  (0) 2016.06.01
JAVA-AWT이벤트처리  (0) 2016.05.24
AWT 컴포넌트의 활용  (0) 2016.05.20
JAVA - AWT 컴포넌트의 이해  (0) 2016.05.14
JD-Eclips 다운 및 설치  (0) 2016.05.11