상세 컨텐츠

본문 제목

GRIDBAGLAYOUT 사용하기

Program/JAVA

by 마니씨 2010. 3. 3. 17:38

본문

그리드백 레이아웃~ 레이아웃 잡기엔 딱 내스타일... ㅋㅋ

anchor 사용가능한 공간보다 컴포넌트가 작을경우 드리프트 될 방향을 지정한다.
CENTER, EAST, NORTH, NORTHEAST, NORTHWEST, SOUTH, SOUTHEAST, SOUTHWEST, WEST
fill 컴포넌트포다 그리드 셀이 좀더 넓을경우, 컴포넌트 사이즈를 리사이징 한다.
BOTH, VIRTICAL, HORIZONTAL, NONE
gridx, gridy  그리드 상의 컴포넌트의 좌료를 나타낸다.
gridheight, gridwidth 그리드 상에서 수평축, 수직축에서 점유해야할 셀의 수를 지정한다.
insets 컴포넌트의 외부 패딩을 지정한다.
ipadx, ipady 컴포넌트의 내부 패딩을 지정한다.
weightx, weighty 창크기가 변해 그리드의 크기가 변할경우 컴포넌트의 크기 변화를 나타내는 비율

import java.awt.*;
import javax.swing.*;

public class GridBagLayoutSample extends JFrame{
      private static final Insets insets = new Insets(0, 0, 0, 0);
     
      public static void main(String[] args){
            new GridBagLayoutSample("GridBagLayout Sample");
      }
     
      public GridBagLayoutSample(String str){
            super(str);
           
            setDefaultCloseOperation(EXIT_ON_CLOSE);
           
            JButton btn1 = new JButton("One");
            JButton btn2 = new JButton("Two");
            JButton btn3 = new JButton("Three");
            JButton btn4 = new JButton("Four");
            JButton btn5 = new JButton("Five");
            JButton btn6 = new JButton("Six");
            JButton btn7 = new JButton("Seven");
           
            GridBagLayout gbl = new GridBagLayout();
            GridBagConstraints gbc = new GridBagConstraints();
            gbc.fill = GridBagConstraints.BOTH;
            setLayout(gbl);
           
            addGrid(gbl, gbc, btn1, 0, 0, 1, 1, 0, 0);
            addGrid(gbl, gbc, btn2, 1, 0, 1, 1, 1, 0);
            addGrid(gbl, gbc, btn3, 2, 0, 1, 1, 0, 0);
            addGrid(gbl, gbc, btn4, 0, 1, 2, 1, 1, 1);
            addGrid(gbl, gbc, btn5, 2, 1, 1, 2, 0, 1);
            addGrid(gbl, gbc, btn6, 0, 2, 1, 1, 0, 0);
            addGrid(gbl, gbc, btn7, 1, 2, 1, 1, 1, 0);
           
            pack();
            setVisible(true);
      }
     
      private void addGrid(GridBagLayout gbl, GridBagConstraints gbc, Component c, 
                  int gridx, int gridy, int gridwidth, int gridheight, int weightx, int weighty) {
            gbc.gridx = gridx;
            gbc.gridy = gridy;
            gbc.gridwidth = gridwidth;
            gbc.gridheight = gridheight;
            gbc.weightx = weightx;
            gbc.weighty = weighty;
            gbl.setConstraints(c, gbc);
            add(c);
      }
}


아래는 위의 코드를 실행했을경우 출력화면이다.
왼쪽은 기본 출력상태, 오른쪽은 창크기를 변경하였을경우 그리드의 크기 변화를 확인하기 위한 용도!
 

'Program > JAVA' 카테고리의 다른 글

CronTrigger 의 표현식(Quartz)  (0) 2010.04.19
Quartz 스케줄러  (0) 2010.04.19
좋은 Swing 자료  (0) 2010.03.03
Swing 을 이용한 RAISON 담배~~~  (0) 2010.02.28
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 에러  (0) 2010.02.24

관련글 더보기