자바 GUI 버튼 배열[코드 중복]

자바 GUI 버튼 배열[코드 중복]

안녕하세요.

오늘은 자바 스윙에서 GUI 버튼을 만들어보려고 합니다.

그냥 일반적인 버튼을 만드는 것은 아닙니다.

GUI 버튼을 만들때 생기는 코드의 중복을 배열을 사용해서 줄여볼겁니다.

  • 일반 버튼 생성[코드 중복 O]
  • 배열으로 버튼 생성[코드 중복X]
  • 예제코드[전체]

일반 버튼 생성[코드 중복O]

일반 버튼 생성 코드는 이렇습니다.

JButton btn1=new JButton("Button 1"); //버튼1
JButton btn2=new JButton("Button 2"); //버튼2
JButton btn3=new JButton("Button 3"); //버튼3
Font font1 = new Font("Showcard Gothic",Font.BOLD,15);
/*중복제거X 버튼*/
btn1.setVisible(true);
btn2.setVisible(true);
btn3.setVisible(true);
btn1.setFont(font1);
btn2.setFont(font1);
btn3.setFont(font1);
MainP.add(btn1);
MainP.add(btn2);
MainP.add(btn3);
btn1.setBounds(0,0, 130, 75);
btn2.setBounds(0,100, 130, 75);
btn3.setBounds(0,200, 130, 50);

위와 같은 코드를 넣고 실행하면 버튼 3개가 생성됩니다.

그런데 이 버튼이 10개? 20개가 된다면 얼마나 많은 코드가 필요할까요?

배열으로 버튼 생성[코드 중복 X]

그래서 배열을 이용해서 코드를 중복시키지 않는 방법을 찾았습니다.

static String[] btntext= {"Button 1","Button 2","Button 3"};//버튼안에 들어갈 내용.
static JButton[] btn=new JButton[3]; //버튼
/*중복제거 버튼추가*/
for(int i=0;i<3;i++) {
	btn[i]=new JButton(btntext[i]);//버튼 초기화
	//btn[i].setBackground(new Color(0,0,0,0));//백그라운드를 0,0,0,0으로 설정한다.
	btn[i].setVisible(true);//보이게
	btn[i].setFont(font1);//폰트설정
	//btn[i].setForeground(new Color(208,208,208));
	//btn[i].setBorderPainted(false);
	//btn[i].setContentAreaFilled(false);
	//btn[i].setFocusPainted(false);
	MainP.add(btn[i]);//프레임에 버튼 추가
}
btn[0].setBounds(0,0, 130, 75); //버튼 크기,위치 지정
btn[1].setBounds(0,100, 130, 75);//버튼 크기, 위치 지정
btn[2].setBounds(0,200, 130, 50);//버튼 크기, 위치 지정

위의 코드는 제가 만들던 코드에서 가져온 거라 전체 코드는 아닙니다.

(맨 아래 전체 코드 올려놓겠습니다.)

어쨌든 실행하면 여러 개의 버튼을 짧은 코드로 생성할 수 있는 것을 확인할 수 있습니다.

전체 코드.

위의 코드는 일부이고 제작하다 올리는 코드입니다.

JAVA SE-13 +GUI 중복제거(일부) 미완.

Secretary.zip
0.01MB

Designed by JB FACTORY