>

jSpinner를 사용하여 Form 응용 프로그램을 만들려고합니다. 효율성을 위해 모든 jSpinner를 ArrayList ()로 가져 와서 각 jSpinner에 대해 값 0을 설정하고 싶습니다.

ArrayList의 선언 :

public ArrayList mylist = new ArrayList();

jSpinner로 채워진 ArrayList :

mylist.add(jSpinner_500_e); mylist.add(jSpinner_200_e); mylist.add(jSpinner_100_e);

또한 "set (index_of_arraylist, value) 함수는 ArrayList의 특정 인덱스를 변경할 수 있지만 jSpinners에는 특정 값을 설정하기위한 setValue () 속성이 있습니다.

누군가, 내 ArrayList ()를 사용하고 for 루프에서 jSpinners 값을 조정하는 방법을 알고 있습니까? 대단히 감사합니다.

  • 답변 # 1

    먼저 변경해야 할 것은 ArrayList에 type 매개 변수를 추가하여 컴파일러에게 알려야 할 개체 유형을 알려주는 것입니다. 변경 :

    public ArrayList mylist = new ArrayList();

    to :

    public ArrayList<JSpinner> mylist = new ArrayList<>();

    "다이아몬드 연산자"( <> ) 사용을 볼 수 있습니다 )-JDK7에 제공되었으며 불필요한 코드를 줄이고 좀 더 명확하게 만듭니다. 이제 당신은 mylist 를 걷는 몇 가지 가능성을 시도 할 수 있습니다  내용 값 변경 :

    for-each 루프가 있습니다- "각 JSpinner 마다   mylist 에서  중괄호 안에 코드를 작성하십시오 :

    for(JSpinner spinner : mylist) {
        spinner.setValue(valueYouWantToSet);
    }
    
    

    같은 결과를 얻는 다른 방법은 ArrayList를 안내하는 반복자를 작성하는 것입니다. 각 요소에 대해 지정된 조치를 수행합니다. 예를 볼 수 있습니다 :

    Iterator<JSpinner> iterator = mylist.iterator();
    while(iterator.hasNext()) {
        it.next().setValue(valueYouWantToSet);
    }
    
    

    간단한 for 루프를 사용할 수도 있습니다 :

    for(int i = 0; i < mylist.size(); i++) {
        mylist.get(i).setValue(valueYouWantToSet);
    }
    
    

관련 자료

  • 이전 R에서 kmeans에 대한 정적 중심 설정
  • 다음 c++ - 경고없이 긴 숫자를 길게 설정하려면 어떻게해야합니까?