본문 바로가기

JAVA

swing (Layout 변경)

레이아웃 변경
    기존에 설정된 레이아웃을 변경하여 다른 형태로 컨포넌트에 배치 가능
     컨테이너 객체 생성 시 생성자에 레이아웃 객체를 전달하거나
    컨테이너 객체의 setLayout() 메서드를 호출하여 레이아웃 변경 가능

 

▷ FlowLayout

    → 컨테이너 내의 컴포넌트들을 흐름에 따라 자연스럽게 배치하는 레이아웃으로

        좌 → 우, 상 → 하 방향으로 컴포넌트를 차례대로 배치
    → 컨테이너 크기가 변경되면, 컴포넌트의 크기는 유지되나, 위치가 변경됨
        (컨테이너 크기에 따라 위치가 자동으로 조절됨)

    → 하나의 컨테이너 내부에 여러 개의 컴포넌트 배치가 가능함(위치 지정 불가)
     JPanel(패널)의 기본 레이아웃

    → 생성자에 정렬 방식을 전달하여 변경 가능
        (파라미터 : FlowLayout.XXX 상수 전달 → CENTER, RIGHT, LEFT 등)

 

ex_layout.Clone_Ex3

package ex_layout;

import java.awt.*;

import javax.swing.*;

public class Clone_Ex3 {
	
	public Clone_Ex3() {
		showFrame();
	}
	
	public void showFrame() {
		JFrame f = new JFrame("Clone_Ex3");
		f.setBounds(600,300,600,300);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		f.setLayout(new FlowLayout(FlowLayout.LEFT));
		
		JButton btn1 = new JButton("Button1");
		JButton btn2 = new JButton("Button2");
		JButton btn3 = new JButton("Button3");
		JButton btn4 = new JButton("Button4");
		JButton btn5 = new JButton("Button5");
		
		// BorderLayout과 달리 FlowLayout은 컴포넌트 배치 시 별도의 위치를 지정할 필요가 없다.
		f.add(btn1);
		f.add(btn2);
		f.add(btn3);
		f.add(btn4);
		f.add(btn5);
		
		f.setVisible(true);
	}

	public static void main(String[] args) {
		new Clone_Ex3();
	}

}

수업시간에 한 내용을 Clone 파일로 만들어서 작성함

'JAVA' 카테고리의 다른 글

swing (Component)  (0) 2022.02.26
swing (Layout 변경2)  (0) 2022.02.26
swing (Layout)  (0) 2022.02.26
Swing(event_handling)  (0) 2022.02.23
Swing  (0) 2022.02.23