我正在做一個項目,我必須使用用戶剛存儲在Hashmap中的對象的屬性填充組合框。這意味着我無法提前將項目分配給組合框。這是我第一次嘗試使用javaFX。到目前爲止它沒問題,但是當我嘗試填充組合框「loggedOnUsersDropDown」時,沒有任何反應。它只是空着。我創建了包含帶場景構建器的ComboBox的UI。該方法的代碼如下所示:無法在運行時填充JavaFX組合框
@FXML
protected void loadLoggedOn(){
ArrayList<String> loggedOn = new ArrayList();
for (User LOGGED_Onkey : bd.currentSSO.LOGGED_ON.keySet()) {
loggedOn.add(LOGGED_Onkey.getAttribute(LOGGED_Onkey.USER_NAME)); //System.out.println(LOGGED_Onkey.getAttribute(LOGGED_Onkey.USER_NAME));
}
ObservableList<String> obList = FXCollections.observableArrayList(loggedOn);
//loggedOnUsersDropDown.getItems().clear();
loggedOnUsersDropDown = new ComboBox<String>();
loggedOnUsersDropDown.getItems().addAll(obList);
System.out.println(loggedOn.size());
}
我將不勝感激任何答案。如果我忘記了一些重要信息,請提前致謝。
您正在創建一個新的組合框。你有沒有添加新的場景圖? – 2015-03-30 22:10:03
不,我不。我以爲javafx正在爲我處理這個問題,因爲combobox是在場景構建器中創建的。感謝提示。我似乎無法將組合框添加到任何內容,例如「root.getChildren()。add(loggenOnUsersDropDown)」這一行不起作用,有關如何正確添加組合框的提示?謝謝 – Boldan 2015-03-31 08:35:56
爲什麼要創建一個新的組合框? – 2015-03-31 09:12:47