ArrayList를 이용하면 배열과 다르게 몇번을 반복을돌려 값을 꺼낼지 상수로 선언을 해줘야하는 차이점이 있다. 만약 arrayList.size()을 이용하여 크기를 정하게되면 확실하게 몇번을 버튼을 new해줘야할지 모른다. 그래서 반복의 횟수는 정해줘야한다.
package ch01;
import java.awt.FlowLayout;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JFrame;
public class FlowLayoutEx4 extends JFrame {
// 배열로 만들어서 코드를 수정
// 생성시 for문 활용
// 정 가운데 배치 (수직)
// 배열, ArrayList(멤버변수 선언과 동시에 초기화
// ArrayList 리스트 변경해보기
private ArrayList<JButton> arrayList = new ArrayList<>();
private final int BUTTON_SIZE= 5;
private FlowLayout flowLayout;
public FlowLayoutEx4() {
initData();
setInitLayout();
}
// 초기화 과정 (값을 넣거나, 클래스를 메모리에 올리는 과정)
private void initData() {
setTitle("FlowLayout연습");
setSize(800, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
for (int i = 0; i < BUTTON_SIZE; i++) {
arrayList.add(i, new JButton("button" + (i +1)));
}
flowLayout = new FlowLayout(FlowLayout.CENTER, 10, 230);
}
// GUI 프로그래밍에서 레이아웃 설정하는 코드
private void setInitLayout() {
setVisible(true);
setLayout(flowLayout); // setLayout : 배치 관리자
for (int i = 0; i < BUTTON_SIZE; i++) {
add(arrayList.get(i));
}
}
public static void main(String[] args) {
new FlowLayoutEx4();
}
}
'개발일지 > 자바' 카테고리의 다른 글
GridLayout(배열, ArrayList활용) (1) | 2022.09.13 |
---|---|
BorderLayout(배열, ArrayList활용) (0) | 2022.09.13 |
FlowLayout (배열 활용) (0) | 2022.09.13 |
FlowLayout활용 (2) | 2022.09.13 |
인터페이스(Interface) (0) | 2022.09.07 |
댓글