본문 바로가기

코틀린

javafx kotlin 자식창 닫으면 부모창 listview 업데이트(fxml 사용기준)

728x90

와 진짜 개 빡침 

진짜 이거 해결하느라 하루 왼종일 걸렸네

javafx 개 그지 같네 왜 데스크탑 GUI 잘 안쓰는지 알겠네

스윙은 디자인이 쌍팔년도라 javafx 썻는데 사용편의성 영 꽝이네

여튼 자식창에서 listview add 하면 부모창에 있는 리스뷰에는 추가된게 보이지 않음

닫고 다시 열어야 보임 

무슨짓을 해도 안되서

생각을 달리해서 닫을때 생성되는 이벤트로 해보자 해서 찾아냄

자식창을 닫을때 .close()로 닫지 않고 윈도우 이벤트로 닫아서 해결했음

그냥 close()닫으면 setOnCloseRequest 호출되지 않음

var close = btn_cancel.scene.window as Stage
close.fireEvent(WindowEvent(close,WindowEvent.WINDOW_CLOSE_REQUEST))

닫을 함수에서 위 소스 사용했고

창을 생성한곳에 

stage.setOnCloseRequest {
    refresh()
}

이런식으로 작성해서 해결함

 

 

728x90