자바 스윙 null 절대 레이아웃 구현 예제

1.개술
공식 자바 DocsApi:java.awt.Component,java.awt.Container
null,절대 레이아웃.절대 레이아웃 은 특정한 레이아웃 관리자 클래스 가 표시 되 지 않 습 니 다.용기 의 레이아웃 관리자 에 null 로 설정 하면 절대 레이아웃 을 사용 합 니 다.즉,구성 요소 의 좌표 와 너비 높이 를 설정 하여 구성 요 소 를 배치 하 는 것 입 니 다.
절대 레이아웃 은 모든 구성 요소 의 좌표 와 너비,높이 를 명확 하 게 지정 해 야 합 니 다.그렇지 않 으 면 표시 되 지 않 습 니 다.
다른 레이아웃 을 사용 할 때 구성 요소 에 좌표 와 너비 높이 를 설정 할 때 다음 과 같은 두 가 지 를 따 릅 니 다.
  • 다른 레이아웃 을 사용 할 때 창 에 표시 한 다음 에 새 구성 요 소 를 추가 하면 이 구성 요 소 는 절대적 인 레이아웃 으로 대 접 됩 니 다(즉,수 동 으로 좌표 와 너비 가 필요 합 니 다)
  • 4.567917.다른 레이아웃 을 사용 할 때 창 에 표 시 된 후에 이전에 추 가 된 구성 요소 의 좌표 와 너비 높이 를 수정 하면 이 구성 요소 도 절대적 인 레이아웃 으로 대 접 됩 니 다(즉,이때 좌표 와 너비 높이 를 수정 하면 유효 합 니 다)절대 레이아웃 을 사용 하 는 용 기 를 만 듭 니 다:
    
    //       ,         null,        
    JPanel panel = new JPanel(null);
    
     
    
    //       
    JPanel panel = new JPanel();
    //          null,        
    panel.setLayout(null);
    구성 요소 에 좌표 와 너비 높이 의 관 계 를 설정 하 는 방법(방법 은 Component 구성 요소 기본 클래스 에 정의):
    
    //        
    void setLocation(int x, int y)
    void setLocation(Point p)
    
    //        
    void setSize(int width, int height)
    void setSize(Dimension d)
    
    //        (                )
    void setBounds(int x, int y, int width, int height)
    void setBounds(Rectangle rect)
    
    
    2.코드 인 스 턴 스
    
    package com.xiets.swing;
    
    import javax.swing.*;
    
    public class Main {
    
      public static void main(String[] args) {
        JFrame jf = new JFrame("    ");
        jf.setSize(300, 300);
        jf.setLocationRelativeTo(null);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    
        //       ,      null,       
        JPanel panel = new JPanel(null);
    
        //     
        JButton btn01 = new JButton("Button01");
        //        
        btn01.setLocation(50, 50);
        //        
        btn01.setSize(100, 50);
        panel.add(btn01);
    
        //     
        JButton btn02 = new JButton("Button02");
        //        (     ),        (50, 100),    100, 50
        btn02.setBounds(50, 100, 100, 50);
        panel.add(btn02);
    
        //     
        jf.setContentPane(panel);
        jf.setVisible(true);
    
        /*
         *      jf.setVisible(true)       
         *
         * PS_01: jf.setVisible(true)   ,        ;
         * PS_02:        , jf.setVisible(true)        ,                 (            );
         * PS_03:        , jf.setVisible(true)        ,     jf.setVisible(true)                ,
         *                  (           )。
         */
        JButton btn03 = new JButton("Button03");
        //                ,           100, 50
        btn03.setBounds(panel.getWidth() - 100, panel.getHeight() - 50, 100, 50);
        panel.add(btn03);
      }
    
    }
    결과 전시:

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

    좋은 웹페이지 즐겨찾기