2013-02-08 2 views
0

저는 25 개의 jButton을 가지고 있고 루프에서 텍스트를 변경하고 싶습니다. 여기에 1 버튼에 대한 코드가 있습니다.JButton의 이름을 바꾸는 방법은 무엇입니까?

void changeText(){ 
      jButton1.setText(jButton1.getText().toUpperCase()); 

    } 

각 다른 버튼에 대해 동일한 방법을 쓰지 않고 동일한 작업을 수행하고 싶습니다.

이와 비슷한 것을 사용할 수 있습니까?

void changeText(){ 
     for(int i=0;i<25;i++){ 
      String x = "jButton"+i; 
      x.setText(x.getText().toUpperCase()); 
     } 
    } 

확실히 작동하지 않습니다. 제발 방법을 제안 해주세요.

+0

)와 루프 내부 (AN을 반복 배열 또는 컬렉션) 귀하의 도움을 주셔서 감사합니다 – Dan

답변

2

단추를 컬렉션에 추가하여이 작업을 수행 할 수 있습니다.

이런 식으로 뭔가 :

// initialization of jbuttons: 
List<JButton> buttons = new ArrayList<JButton>(); 
JButton jbutton1 = new JButton(); 
// .. set properties 
buttons.add(jbutton1); 

// add more jbuttons to the list 

나중에 당신이 버튼의 목록을 반복 할 수 있습니다 : 당신이 changeText (에 인수로하는 JButton을 전달할 수

for (JButton button : buttons) { 
    button.setText(button.getText().toUpperCase()); 
} 
+0

부탁드립니다. 그건 잘된거야. 루프를 사용하여 모든 버튼을 목록에 추가하려면 어떻게합니까? – Hasi007

+0

['ButtonTest'] (http://stackoverflow.com/a/3420431/230513)와 관련된 예제입니다. – trashgod

관련 문제