이전 포스팅에서는 여러 개의 버튼을 각각 생성했다. 기본 개념을 확인하는 부분이라 일일이 하드코딩을 했지만 배열을 활용하면 코드의 중복 없이 간단하게 같은 결과를 출력할 수 있다.

 

 

여기에 각 버튼에 다른 색상을 적용해 보았다.

 

형식 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]); // frameadd로 삽입

}



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]); // frameadd로 삽입

}

 

frame.setSize(500,500);

frame.setVisible(true);

}

}



+ Recent posts