2017-12-05 2 views
-1

내 그래픽 인터페이스에서 선택된 모든 JRadioButtons의 이름을 가져 오려고합니다. 따라서 모든 JRadioButton을 포함하는 allFacilities 배열을 만듭니다.Java에서 JRadioButton의 이름 얻기

첫 번째 for 루프는 선택한 라디오 버튼의 수를 찾는 역할을합니다.

두 번째 for 루프는 선택한 각 단추의 이름을 얻으려고합니다.

.getName()이 반환하는 값 : System.out.println("A##" + button.getName());을 확인할 때 모든 경우에 대해 null 만 반환됩니다.

JRadioButton[] allFacilities = {restaurant, laundry, parking}; 
    int selectedFacilitiesCounter = 0; 
    for(JRadioButton check : allFacilities) { 
     if(check.isSelected()) { 
      selectedFacilitiesCounter += 1; 
     } 
    } 
    String[] selectedFacilities = new String[selectedFacilitiesCounter]; 
    int index = 0; 
    for(JRadioButton button : allFacilities) { 
     if(button.isSelected()) { 
      System.out.println("A##" + button.getName()); 
      switch(button.getName()) { 
       case "restaurant": 
        selectedFacilities[index] = "restaurant"; 
        break; 
       case "laundry": 
        selectedFacilities[index] = "laundry"; 
        break; 
       case "parking": 
        selectedFacilities[index] = "parking"; 
        break; 
       default: 
        System.out.println("Facility Not Found"); 
      } 
      index += 1;   
     } 
    } 

아무도 내 문제를 해결할 수있는 방법에 어떤 아이디어가 있습니까 : 여기

내 코드? test를 인쇄 할

JRadioButton button = new JRadioButton("test"); 
    System.out.println(button.getText()); 

:

+0

"이름"이란 표시되는 텍스트를 의미합니까? 'getText()'를 시도 했습니까? 이름을 가지고 작업하고 싶다면'setName (string)'을 먼저 호출해야하고 나중에 얻을 수 있습니다. – user1803551

+0

setName()을 사용해 보겠습니다. 배열을 초기화 할 때 표시된 것과 같은 JRadioButton 변수의 이름을 의미합니다. –

+0

'button.getText()'를 대신 사용하십시오. –

답변

1

나는 당신이 원하는 것은이 믿습니다.

getName 메서드는 setName으로 설정해야하는 구성 요소의 name을 가져옵니다.