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 :가운데 센터가 남는 공간을 모두 차지하게된다
}
}