이전 포스팅에서는 여러 개의 버튼을 각각 생성했다. 기본 개념을 확인하는 부분이라 일일이 하드코딩을 했지만 배열을 활용하면 코드의 중복 없이 간단하게 같은 결과를 출력할 수 있다.
여기에 각 버튼에 다른 색상을 적용해 보았다.
형식 1]
btn1.setBackground(new Color(255,128,0)); // 오렌지색 배경 설정
frame.add(btn1, "South"); // frame에 삽입
형식 2]
for(int i=0; i<btn.length; i++){
btn[i]=new Button(msg[i]); // 버튼 생성
btn[i].setBackground(color[i]); // 색 삽입
frame.add(btn[i], location[i]); // frame에 add로 삽입
}
import java.awt.*;
class BorderLayoutEx4 {
public static void main(String[] args) {
Frame frame = new Frame();
String[] msg = {"아래버튼", "위버튼", "오른쪽버튼", "왼쪽버튼", "가운데버튼"};
Color[] color = {new Color(255,128,0), new Color(251,33,13),new Color(15,223,0),new Color(72,22,243),new Color(236,12,253)};
String[] location = {"South", "North","East","West","Center"};
Button[] btn = new Button[msg.length]; //배열
Button btn1 = new Button("South");
/* 코드중복 nono!
frame.add(new Button("아래버튼"), "South");
frame.add(new Button("위버튼"), "North");
frame.add(new Button("왼쪽버튼"), "West");
frame.add(new Button("오른쪽버튼"), "East");
frame.add(new Button("가운데버튼"), "Center");
btn1.setBackground(new Color(255,128,0)); // 오렌지색 배경 설정
frame.add(btn1, "South"); // frame에 삽입
*/
for(int i=0; i<btn.length; i++){
btn[i]=new Button(msg[i]); // 버튼 생성
btn[i].setBackground(color[i]); // 색 삽입
frame.add(btn[i], location[i]); // frame에 add로 삽입
}
frame.setSize(500,500);
frame.setVisible(true);
}
}
'문돌이의 IT > 자바(Java)' 카테고리의 다른 글
자바(Java) awt 패널(panel) 클래스 사용방법 (0) | 2016.03.21 |
---|---|
자바(Java) awt setLayout FlowLayout 클래스 사용방법 (0) | 2016.03.20 |
자바(Java) BorderLayout 클래스로 Button 위치 지정하기 (0) | 2016.03.18 |
자바(Java) awt Button 클래스 사용방법 (0) | 2016.03.17 |
자바(Java) Abstract 추상클래스, 추상메소드 (0) | 2016.03.16 |