스윙: 숨겨진 프레임의 레이블을 변경한 다음 프레임을 표시하는 것은 EDT에서 역순으로 발생합니다.


스윙: 숨겨진 프레임의 레이블을 변경한 다음 프레임을 표시하는 것은 EDT에서 역순으로 발생합니다.

문제 스윙에서 대화 상자를 만듭니다(JRE 6 업데이트 10, Ubuntu linux). 사용자가 대화 상자 사용을 마치면 숨겨집니다. 사용자가 다른 프레임의 버튼을 클릭하면 버튼에 따라 상자의 레이블이 변경되고 다시 상자가 표시됩니다. 내가 겪고있는 문제는 프로그래밍 방식으로 반대 순서로 호출을하고 있지만 레이블이 변경되기 전에 상자가 표시된다는 것입니다. 이로 인해 느린 대상 HW에서 "글리치"처럼 보이는 레이블 변경이 뒤따르는 상자가 나타납니다. EDT는 setText(....) 레이블보다 앞서 setVisible(true) 프레임을 예약하는 것으로 보입니다. 이 호출에 우선 순위를 부여합니다. setText(....) 후에 실행되도록 setVisible(true) 을 예약하도록 EDT를 얻는 방법이 있습니까? 코드는 EDT에서 이미 실행 중인 버튼 클릭에서 호출되므로 SwingUtilities.invokeAndWait 를 사용할 수 없습니다. invokeLater 메서드를 사...


#edt #java #swing

원문링크 : 스윙: 숨겨진 프레임의 레이블을 변경한 다음 프레임을 표시하는 것은 EDT에서 역순으로 발생합니다.