Christmas Pikachu FlowLayout(ArrayList 활용)
개발일지/자바

FlowLayout(ArrayList 활용)

ZI_CO 2022. 9. 13.

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

댓글