假設DialogA內有一個DialogB,想要讓DialogB置頂在DialogA中就必須做些設定,如果沒有設定DialogB就可能會因為使用者點擊DialogA或是RootWindow而失去焦點


因此在設定上DialogA要給DialogB一個owner,DialogB要設定initModality


DialogA.java


//給dialogB的owner
    DialogB t=new DialogB(this);
    public void showDialogB(){
        t.show();
    }

DialogB.java

//Dialog B
public DialogTable(Stage owner) {
//省略
    initModality(Modality.APPLICATION_MODAL);
}


效果圖

wKioL1NB6jHwSLj7AAJ3vA-7fg4451.jpg