2017-04-19 4 views
0

을 클릭 자바 FX 변경 목록 내가 같은 홀더 값을 미리 설정 한 자바 FX 애플리케이션에서 라벨의 목록을 가지고

public void setUsername(int index, String lblUserName) { 
    this.lblUserNames.set(index, new Label(lblUserName)); 
} 

를 사용하여 버튼 클릭에 사용자 이름을 표시하지만 여전히 대신에 사용자 이름을 표시하도록 업데이트의 홀더 텍스트를 보여주는 것; 라벨 목록을 인쇄하면 값이 실제로 변경되었습니다.

나는 레이블 (Label[])의 배열이 있었고 ".setText(lblUserName)을 사용할 수 있었기 때문에 이전에 작동했습니다. 더 많은 사용자를 추가 할 수 있도록 코드를 많이 변경하지 않아도되도록 ArrayList로 변경했지만 이제는 setText()을 사용할 수 없습니다.

레이블에 대한 텍스트를 변경하는 것과 비슷한 질문이 있지만 솔루션은 setText()을 사용하여 레이블의 ArrayList에서 작동하지 않습니다. 홀더 텍스트를 ArrayList의 새 레이블로 업데이트하고 바꿀 수있는 방법이 있습니까?

답변

0

목록에서 레이블을 바꿀 때 UI에서 바꿀 수는 없습니다. 원래 레이블은 여전히 ​​UI에 표시됩니다. 기존 라벨에 setText(...)으로 전화하면

public void setUsername(int index, String lblUserName) { 
    this.lblUserNames.get(index).setText(lblUserName); 
} 
+0

오 와우, 정말 고마워! 전에 내가 "this.lblModuleNames [index] .setText (lblModuleName)"레이블을 배열로 가지고 있기 때문에 나는 너무 어리 석다. 새 코드가 UI에서 변경되지 않는다는 것을 알지 못했습니다. 정말 고마워요! – nootnoot