我有一個HierarchyTabController,我在應用程序的初始加載時調用此方法一次。一旦新數據添加到另一個控制器中,如何更新控制器?
public void displayRootTreeStructure()
{
//for loops through each Requirement to display all RequirementGroups
}
的問題是,我有稱爲RequirementGroupsController另一個控制器,其有一個方法,則用戶可以與一個按鈕的點擊添加。
@FXML
private void addRequirementGroup()
{
}
因此,換句話說,如果用戶增加了一個需求組,然後切換到所述層級標籤,它是過時的。如何在用戶調用addRequirementGroup時調用displayRootTreeStructure方法?
聽起來你需要一個模型類,並且需要與每個控制器共享該類的一個實例。然後,控制器可以觀察模型並在數據更改時根據需要更新UI。 (這是類似於MVC的設計模式的本質。)請查看http://stackoverflow.com/questions/32342864/applying-mvc-with-javafx獲取模式的示例。 –
問題是,只有一個控制器正在修改數據。另一個控制器只是顯示數據。 – Jay266
沒錯。在兩個控制器之間共享模型實例。顯示數據的控制器可以觀察模型中的數據並根據需要更新UI。修改數據的控制器將修改這些數據,然後另一個控制器將自動更新它。樹的模型可能會更復雜,因爲示例中的簡單模型鏈接在一起,但結構思想是相同的。 –