- [Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기2024년 04월 25일
- Song hyun
- 작성자
- 2024.04.25.:27
728x90반응형[Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기
스윙 컴포넌트를 사용해 동/서/남/북/중앙에 각각의 버튼을 만들어보자.(총 5개)
(3) 반복문 만들기
반복문을 사용하지 않을 때의 코드는
add(button1, BorderLayout_EAST);
add(button2, BorderLayout_WEST);
add(button3, BorderLayout_SOUTH);
add(button4, BorderLayout_NORTH);
add(button5, BorderLayout_CENTER); 이다.
각각의 버튼을 다섯가지 위치에 생성하는 코드이다.
우리는 여기서 add(JButton 타입 변수, BorderLayout_방향을 의미하는 String 타입 변수);
라는 패턴이 반복되고 있다는 것을 알 수 있다.
이를 통해 반복문을 만들어보자.
(1) JButton 타입, String 타입 변수들을 효율적으로 관리하기 위해, 배열을 선언하고 초기화한다.
JButton[] buttons;
String[] directions = { BorderLayout.EAST, BorderLayout.WEST, BorderLayout.SOUTH, BorderLayout.NORTH, BorderLayout.CENTER };(2) String 타입 배열의 경우, 배열 내 변수의 초기화로 배열의 크기가 이미 정해졌다.
JButton 타입 배열을 초기화하자.
buttons = new JButton[5];
(3) 위에서 선언, 초기화한 배열을 for문과 함께 사용해, 반복문으로 손쉽게 코드를 작성해보자.
for (int i = 0; i<button.length; i++){
buttons[i] = new JButton("Button" + i);
add(buttons[i], directions[i]); }
}package ch01; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutEx2 extends JFrame { JButton[] buttons; String[] directions = { BorderLayout.EAST, BorderLayout.WEST, BorderLayout.SOUTH, BorderLayout.NORTH, BorderLayout.CENTER }; public BorderLayoutEx2() { initData(); setInitLayout(); } public void initData() { setTitle("borderLayout 연습"); setSize(600, 600); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 프로그램 종료 buttons = new JButton[5]; } public void setInitLayout() { // 배치 관리자 선정(컨테이너) // borderLayout은 컴포넌트들을 동서남북가운데로 정렬/배치시켜주는 레이아웃이다. setLayout(new BorderLayout()); for (int i = 0; i < buttons.length; i++) { buttons[i] = new JButton("Button" + i); add(buttons[i], directions[i]); } } public static void main(String[] args) { new BorderLayoutEx2(); } // end of main } // end of class
728x90반응형'Java > 자바 Swing' 카테고리의 다른 글
[Java] 59. 사용자 정의 예외 클래스 (0) 2024.04.29 [Java] 56. Swing 응용 예제: 집 그리기 (0) 2024.04.26 [Java] 55. Swing: 패널과 컨테이너 (0) 2024.04.26 [Java] 50. 스윙 컴포넌트로 버튼 만들기 (0) 2024.04.25 [Java] 49. 자바 GUI와 Swing 컴포넌트 (0) 2024.04.25 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)