Java/Excercise

swing ch02 BorderLayoutEx

낭구리 2021. 9. 2. 18:00
package ch02;

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class BorderLayoutEx extends JFrame{

	private BorderLayout borderLayout; //BorderLayout 동서남북중앙 총 5개의 방향을 제시하는 명령어
	JButton[] buttons = new JButton[5]; //5개의 공간이 만들어진 상태
	String[] titles = {"북", "센터","남","동","서"};
	String[] directions = {BorderLayout.NORTH, BorderLayout.CENTER, BorderLayout.SOUTH,
			BorderLayout.EAST, BorderLayout.WEST};
	
	public BorderLayoutEx() {
		initData();
		setInitLayout();
	}
	
	private void initData() {
		setTitle("BorderLayout 연습");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 400);
		borderLayout = new BorderLayout(); //적어야 널포인트인셉션이 뜨지않음
		
		for (int i = 0; i < buttons.length; i++) {
			buttons[i] = new JButton(titles[i]);
		}		
	}
	
	private void setInitLayout() {
		//단 for문을 이용해서 코드를 수정해 봅시다.
		setVisible(true);
		add(buttons[0],BorderLayout.NORTH);
		add(buttons[1],BorderLayout.CENTER);
		add(buttons[2],BorderLayout.SOUTH);
		add(buttons[3],BorderLayout.EAST);
		add(buttons[4],BorderLayout.WEST);
		
		//directions <어디로 올리는지
		
		for (int i = 0; i < buttons.length; i++) {
			add(buttons[i],directions[i]);
		}	
	}


	public static void main(String[] args) {

		new BorderLayoutEx(); //BorderLayout :가운데 센터가 남는 공간을 모두 차지하게된다
	}

}

'Java > Excercise' 카테고리의 다른 글

object ch02 StringBuilderTest  (0) 2021.09.02
swing ch02 GridLayoutEx  (0) 2021.09.02
swing ch02 FlowLayoutEx  (0) 2021.09.02
WrapperEx3  (0) 2021.09.02
WrapperEx2  (0) 2021.09.02