자바 GUI 버튼 배열[코드 중복]
- 프로그래밍/JAVA
- 2020. 2. 21.
250x250
자바 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 중복제거(일부) | 미완. |