Egloos 728x90

구글 애널리틱스


2009/01/02 17:56

[ Java ][ AWT ] 동서남북중앙불패! BorderLayout !! ▷ Java 복습



  사실 BorderLayout은 Frame에 레이아웃을 설정해주지 않으면 기본값으로 들어가 있는 레이아웃입니다.

  특이하게 동서남북중앙이라는 형태로 레이아웃을 관리하는 특이한 녀석.(어째 G건담의 동방불패 사부가 좋아할 것 같다...)

  쓰기에 따라서는 편리할 것 같기도 한데, 개인적으로는 솔직히 좀 불편하네요. 특히, 동서남북에 위치한 녀석들은 플로우레이아웃을 적용시켜도 이상하게 나오고...


/* BorderLayout 예제
JavaStudy(http://www.javastudy.co.kr)
→자바 프로그래밍 강좌→Java Programming / 박용우
→제8장 AWT(http://www.javastudy.co.kr/docs/yopark/chap08/chap08.html)
→→ 4. 컨테이너와 레이아웃 관리자(Layout Manager)
→→→ 라. 보더 레이아웃 관리자(BorderLayout)
&
소설처럼 읽는 자바(jabook)
*/

import java.awt.*;


class BorderLayoutTest extends Frame {

public BorderLayoutTest() {

Panel w1 = new Panel();
w1.setBackground(Color.CYAN);

w1.setLayout(new BorderLayout(10, 5));

w1.add("East", new Button("W1-East"));
w1.add("West", new Button("W1-West"));
w1.add("North", new Button("W1-North"));
w1.add("Center", new Button("W1-Center"));
w1.add("South", new Button("W1-South"));


Panel w2 = new Panel();
w2.setBackground(Color.LIGHT_GRAY);

w2.setLayout(new BorderLayout(10, 5));

w2.add("East", new Button("W2-East"));
w2.add("West", new Button("W2-West"));
w2.add("North", new Button("W2-North"));
w2.add("South", new Button("W2-South"));


Panel w3 = new Panel();
//w3.setBackground(Color.LIGHT_GRAY);

w3.setLayout(new BorderLayout(8, 16));

w3.add("Center", new Button("W3-Center"));


Panel w4 = new Panel();
w4.setBackground(Color.ORANGE);

BorderLayout b = new BorderLayout(8, 16);

w4.setLayout(b);

w4.add("East", new Button("W4-East"));
w4.add("West", new Button("W4-West"));
w4.add(new Button("W4-Center"));


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

this.add(w1);
this.add(w2);
this.add(w3);
this.add(w4);

}



public static void main(String args[]) {

BorderLayoutTest f = new BorderLayoutTest();
f.pack();
f.setTitle("BorderLayout");
f.setVisible(true);

}

}


결과화면

  이 소스 역시 JAVA STUDY 박용우님의 강좌에 나와있던 것을, 개인적으로 보기 편하게 약간 수정하고 주석을 달...
...려고 했는데, 실제로 해보니까 결과가 기술되어 있는 것처럼 나오지가 않더군요. 그래서 이번 소스는 '소설처럼 읽는 자바'의 것을 사용했습니다.(사실 소설처럼 읽는 자바의 소스도 거의 똑같습니다. 단지 조금 더 수정이 되어 있다는 차이가 있을 뿐)

덧글

  • WSID 2009/01/02 18:01 # 답글

    고등학교때 프로그래밍 하면서 유용하게 써먹었던 Layout인데, 지금 무슨 목적으로 쓰나 생각해 보니.. 영... ㅇㅅㅇ;;;
    그런 Layout였던 것 같습니다.;; ^^;;
    (나중에 열심히 하셔서 AWT에서 SWING으로 넘어 오시면 될듯..
    그리고 저는 프로그래밍 잘 못해요;;)
  • 별소리 2009/01/03 14:34 #

    저도 지금 공부하고 있는 중인데...스윙은 언제나 가게 될지 모르겠습니다 >-<ㅇ
댓글 입력 영역

애드센스336x280

알라딘TTB-Egloos(하단-일반)



이 이글루를 링크한 사람 (블랙)

36