Swing

BorderLayout 과 배열의 활용

whs5758 2025. 4. 28. 14:42
package _swing;

import javax.swing.*;
import java.awt.*;

public class BorderLayoutEx extends JFrame {

    // 멤버 변수
    JButton[] buttons;
    String[] directions = {BorderLayout.WEST, BorderLayout.EAST,
            BorderLayout.CENTER, BorderLayout.NORTH, BorderLayout.SOUTH};

    // 생성자
    public BorderLayoutEx() {
        setTitle("borderLayout 연습");
        setSize(600, 600);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        initData();
        setInitLayout();
    }

    // 메서드
    private void initData() {
        buttons = new JButton[5];
        // for 구문으로 수정
        for (int i = 0; i < 5; i++) {
            buttons[i] = new JButton("button" + (i + 1));
        }
//        buttons[0] = new JButton("button1");
//        buttons[1] = new JButton("button2");
//        buttons[2] = new JButton("button3");
//        buttons[3] = new JButton("button4");
//        buttons[4] = new JButton("button5");
    }

    private void setInitLayout() {
        // 배치관리자 borderLayout
        // BorderLayout 은 컴포넌트들을 동서남북 가운데 로 배치 시켜주는 레이아웃이다.
        setLayout(new BorderLayout());

        // 프레임(패널)
        // 우리가 생성한 JButton 객채를 프레임에 붙이다.
        // for 구문으로 수정
        for (int i = 0; i < 5; i++) {
            add(buttons[i], directions[i]);
        }
//        add(buttons[0], BorderLayout.WEST);
//        add(buttons[1], BorderLayout.EAST);
//        add(buttons[2], BorderLayout.CENTER);
//        add(buttons[3], BorderLayout.NORTH);
//        add(buttons[4], BorderLayout.SOUTH);
    }

}
package _swing;

public class MainTest1 {

    // 테스트 코드 작성(메인 스레드)
    public static void main(String[] args) {

        BorderLayoutEx borderLayoutEx = new BorderLayoutEx();


    } // end of main
}

'Swing' 카테고리의 다른 글

이미지 올려보기  (1) 2025.04.28
패널 사용해보기  (0) 2025.04.28
좌표값으로 컴포넌트 배치해보기  (0) 2025.04.28
기본 컴포넌트 소개  (0) 2025.04.28
swing - 1  (1) 2025.04.23