자바 스윙 박스 레이아웃 구현 코드

1.개술
공식 자바 DocsApi:javax.swing.BoxLayout,javax.swing.Box
박스 레이아웃 관리자.그것 은 몇몇 구성 요 소 를 수평 또는 수직 방향 으로 순서대로 배열 하여 배치 했다.Swing 은 BoxLayout 를 실현 하 는 용기 구성 요소 Box 를 제공 합 니 다.Box 가 제공 하 는 정적 방법 을 사용 하면 수평/수직 상자 용기(Box)를 빠르게 만 들 고 구성 요소 간 의 공간 을 채 울 수 있 는 보이 지 않 는 구성 요 소 를 만 들 수 있 습 니 다.수평 상자 와 수직 상자 의 조합 으로 GridBagLayout 와 유사 한 효 과 를 낼 수 있 지만 그리 복잡 하 지 는 않다.
수평/수직 상자 용기 만 들 기(Box):

//          
Box hBox = Box.createHorizontalBox();
  
//          
Box vBox = Box.createVerticalBox();
Box 안의 구성 요소 사이 에는 기본적으로 공간 이 없고 가운데 에 있 습 니 다.구성 요소 사이(또는 머리/꼬리)에 공간 을 추가 하려 면 레이아웃 에 영향 을 주 는 보이 지 않 는 구성 요 소 를 추가 할 수 있 습 니 다.Box 는 빈 공간 을 채 우 는 데 사용 되 는 보이 지 않 는 세 가지 구성 요 소 를 제공 합 니 다:glue,struts,rigidreas.
고무 모양(너비/높이 신축 가능)의 보이 지 않 는 구성 요소 만 들 기(glue):

//                   ,             (        ,       )
Component hGlue = Box.createHorizontalGlue();

//                   ,             (        ,       )
Component vGlue = Box.createVerticalGlue();

//                      ,                (        ,       )
Component glue = Box.createGlue();
고정 너비 나 높이 의 보이 지 않 는 구성 요소 만 들 기(struts):

//                 (     )
Component hStrut = Box.createHorizontalStrut(int width);

//                 (     )
Component vStrut = Box.createVerticalStrut(int height);
고정 너비 가 높 은 보이 지 않 는 구성 요소 만 들 기(rigidAreas):

//               
Component rigidArea = Box.createRigidArea(new Dimension(int width, int height));
2.코드 인 스 턴 스

package com.xiets.swing;

import javax.swing.*;

public class Main {

  public static void main(String[] args) {
    JFrame jf = new JFrame("    ");
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    JButton btn01 = new JButton("Button01");
    JButton btn02 = new JButton("Button02");
    JButton btn03 = new JButton("Button03");
    JButton btn04 = new JButton("Button04");
    JButton btn05 = new JButton("Button05");

    //           
    Box hBox01 = Box.createHorizontalBox();
    hBox01.add(btn01);
    hBox01.add(btn02);
    hBox01.add(btn03);

    //          
    Box hBox02 = Box.createHorizontalBox();
    hBox02.add(btn04);
    hBox02.add(Box.createHorizontalGlue()); //                 ,        
    hBox02.add(btn05);

    //          ,         (Box    )
    Box vBox = Box.createVerticalBox();
    vBox.add(hBox01);
    vBox.add(hBox02);

    //                  
    jf.setContentPane(vBox);

    jf.pack();
    jf.setLocationRelativeTo(null);
    jf.setVisible(true);
  }

}
결과 전시:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기