JAVA 스윙 레이아웃 관리자 인 스 턴 스 분석

구성 요소 가 용기(예 를 들 어 Jframe)에 있 는 위치 와 크기 는 레이아웃 관리자 에 의 해 결정 된다.모든 용 기 는 레이아웃 관리 자 를 사용 하여 구성 요소 의 레이아웃 관 리 를 자동 으로 합 니 다.
종류.
자바 는 모두 다섯 가지 레이아웃 관리 자 를 제공 합 니 다.세 가지 만 소개 하 는 것 이 가장 흔히 볼 수 있 는 레이아웃 관리자 입 니 다.
경계 레이아웃
경계 구 조 는 용 기 를 동남 서북 중 5 개 구역 으로 간단하게 나 누고 중간 구역 이 가장 크다.JFrame,JDialog 의 기본 레이아웃 은 BorderLayout 입 니 다.

/*
 *   :  C
 *   :2020 03 05 
 *   :gui  
 *   :
 * 1.  JFrame
 * 2.        
 * 3.    
 * 4.    
 * 5.     
 */

package com.beekc.www;
import java.awt.*;
import javax.swing.*;

//  JFrame
public class Beekc extends JFrame{
  //       
  JButton jb1,jb2,jb3,jb4,jb5;

  public static void main(String[] args){
    Beekc beekc = new Beekc();
  }

  //    
  public Beekc(){
    //    
    jb1 = new JButton("  ");
    jb2 = new JButton("  ");
    jb3 = new JButton("  ");
    jb4 = new JButton("  ");
    jb5 = new JButton("  ");

    //      
    this.add(jb1,BorderLayout.CENTER);
    this.add(jb2,BorderLayout.NORTH);
    this.add(jb3,BorderLayout.EAST);
    this.add(jb4,BorderLayout.SOUTH);
    this.add(jb5,BorderLayout.WEST);

    //      
    //      
    this.setTitle("      ");
    //      
    this.setSize(300,200);
    //           
    this.setLocation(200,200);
    //                 
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //    
    this.setVisible(true);
  }

}
실행 결과
북부 나 남부 가 설치 되 어 있 지 않 으 면 서부,중부,남부 가 자 리 를 차지한다.
서부,동 부 를 설치 하지 않 으 면 중부 가 자 리 를 차지한다.
중 부 를 설치 하지 않 으 면 중 부 는 비어 있다.

흐름 레이아웃
FlowLayout 레이아웃 은 구성 요소 의 추가 순서에 따라 단추 구성 요소(물론 다른 구성 요소 일 수도 있 습 니 다)를 왼쪽 에서 오른쪽으로 용기 의 경계 에 놓 을 때 구성 요 소 는 다음 줄 에 놓 입 니 다.FlowLayout 는 왼쪽 정렬,극 중 정렬 방식 으로 구성 요 소 를 배열 할 수 있 습 니 다.
주의 사항
I.그 가 관리 하 는 구성 요소 의 크기 를 제한 하지 않 고 최 적 크기 를 허용 합 니 다.
II.용기 가 크기 조정 되 었 을 때 구성 요소 의 위 치 는 변 할 수 있 지만 구성 요소 의 크기 는 변 하지 않 습 니 다.
Ⅲ.기본 구성 요 소 는 가운데 정렬 입 니 다.FlowLayout(int align)함수 로 정렬 방식 을 지정 할 수 있 습 니 다.

/*
 *   :  C
 *   :2020 03 05 
 *   :gui  
 *   :
 * 1.  JFrame  
 * 2.        
 * 3.    
 * 4.    
 * 5.     
 * 6.  
 */

package com.beekc.www;
import java.awt.*;
import javax.swing.*;

//  JFrame
public class Beekc extends JFrame{

  //    
  JButton jb1,jb2,jb3,jb4,jb5,jb6;

  public static void main(String[] args){
    Beekc beekc = new Beekc();
  }

  //    
  public Beekc(){
    //    
    jb1 = new JButton("  ");
    jb2 = new JButton("  ");
    jb3 = new JButton("  ");
    jb4 = new JButton("  ");
    jb5 = new JButton("  ");
    jb6 = new JButton("  ");

    //    
    this.add(jb1);
    this.add(jb2);
    this.add(jb3);
    this.add(jb4);
    this.add(jb5);
    this.add(jb6);

    //       
    //FlowLayout.CENTER     
    this.setLayout(new FlowLayout(FlowLayout.CENTER));

    //    
    this.setTitle("      ");
    this.setSize(300,110);
    //          
    this.setResizable(false);
    this.setLocation(200,200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //    
    this.setVisible(true);
  }

}
실행 결과

격자 레이아웃
GirdLayout 레이아웃 은 용 기 를 여러 줄 로 나 누 는 것 입 니 다.각 격자 에 구성 요소 가 채 워 져 있 습 니 다.용기 에 추 가 된 구성 요 소 는 먼저 왼쪽 상단 격자 에 놓 은 다음 왼쪽 에서 오른쪽으로 다른 구성 요 소 를 배치 합 니 다.이 줄 의 모든 격자 가 채 워 진 후에 다음 줄 에서 왼쪽 에서 오른쪽으로 구성 요 소 를 계속 배치 합 니 다.

/*
 *   :  C
 *   :2020 03 05 
 *   :gui  
 *   :
 * 1.  JFrame  
 * 2.        
 * 3.    
 * 4.    
 * 5.     
 * 6.  
 */

package com.beekc.www;
import java.awt.*;
import javax.swing.*;

//  JFrame
public class Beekc extends JFrame{

  //    
  int size = 9;
  JButton[] jb = new JButton[size];


  public static void main(String[] args){
    Beekc beekc = new Beekc();
  }

  //    
  public Beekc(){
    //    
    for(int i = 0 ; i < size ; i++)
    {
      jb[i] = new JButton(String.valueOf(i+1));
    }

    //      
    this.setLayout(new GridLayout(3,3,10,10));

    //    
    for(int i = 0 ; i < size ; i++)
    {
      this.add(jb[i]);
    }
    //    
    this.setTitle("      ");
    this.setSize(300,300);
    this.setResizable(false);
    this.setLocation(200,200);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //  
    this.setVisible(true);
  }

}
실행 결과

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

좋은 웹페이지 즐겨찾기