在我的javafx
項目中,我得到了一個包含多個值的組合框。當我的應用程序開始時,我執行以下操作:更新javafx中的gridPane
gui.course_P = new ComboBox<String>();
for (int i = 1; i < gui.columns.size(); i++) {
gui.course_P.getItems().add(gui.columns.get(i));
}
gui.createTestButtonPane.add(gui.course_P, 2, 1);
其中gui.columns
是一個字符串列表。
同時在應用程序中可以更改此值。然而,因爲我已經將這個組合框添加到我的GridPane,然後當這個值改變(gui.columns)時,我的場景新的值沒有顯示在組合框。因爲我已經添加了舊的gui.course。有沒有辦法用新的gui.course_P更新createTestButtonPane?
編輯:我所試圖做的是對的組合框添加值上的監聽器,然後重新添加它到gridPane:
String temp1 = course_name.getText();
gui.course_P = new ComboBox<String>();
gui.course_P.getItems().add(temp1);
//gui.createTestButtonPane.add(gui.course_P, 2, 1);
該課程是正確添加到組合框,但隨後當我再次將組合框添加到gridpane時,我有兩個comboBox。我想要的只是將gui.course更新到我的gridPane。
EDIT2:我跟着我的代碼的答案帖子的例子。
//gui.course_P = new ComboBox<>(gui.columns);
gui.course_P = new ComboBox<String>();
for (int i = 1; i < gui.columns.size(); i++) {
gui.course_P.getItems().add(gui.columns.get(i));
}
問題是,我想從列表中除了第一個元素以外的所有東西。 當我使用gui.course_P = new ComboBox<>(gui.columns);
而不是for循環時,它正在工作,但由於某種原因,我有兩次列表中的元素,而且我還得到了第一個項目。我可以在沒有第一項的情況下添加它嗎?
添加組件或項監聽組合框,如果你再更改值刪除舊,並添加新的 – XtremeBaumer
添加我的問題。我在監聽器上添加新值,但是我想在監聽器上更新gridPane的內容。 –
你可以刪除舊的/覆蓋它嗎? – XtremeBaumer