▷ 레이아웃 변경
→ 기존에 설정된 레이아웃을 변경하여 다른 형태로 컨포넌트에 배치 가능
→ 컨테이너 객체 생성 시 생성자에 레이아웃 객체를 전달하거나
→ 컨테이너 객체의 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 |