Số DialogPane
có triển khai này trong SceneBuilder
:Làm thế nào để kích hoạt một danh sách thả xuống của các mục được xác định trước để thêm vào một điều khiển tùy chỉnh trong SceneBuilder?
Bạn có thể thêm vào danh sách nút Pane.
Tôi đang tìm kiếm để làm điều này để kiểm soát tùy chỉnh của tôi trong scenebuilder. Tôi không thể tìm thấy bất cứ điều gì rõ ràng bên trong các nhà xây dựng cho DialogPane
mà sẽ làm cho công việc này.
Làm điều này có khả thi không?
private final ObservableList<ButtonType> buttons = FXCollections.observableArrayList();
public DialogPane() {
getStyleClass().add("dialog-pane");
headerTextPanel = new GridPane();
getChildren().add(headerTextPanel);
graphicContainer = new StackPane();
contentLabel = createContentLabel("");
getChildren().add(contentLabel);
buttonBar = createButtonBar();
if (buttonBar != null) {
getChildren().add(buttonBar);
}
buttons.addListener((ListChangeListener<ButtonType>) c -> {
while (c.next()) {
if (c.wasRemoved()) {
for (ButtonType cmd : c.getRemoved()) {
buttonNodes.remove(cmd);
}
}
if (c.wasAdded()) {
for (ButtonType cmd : c.getAddedSubList()) {
if (! buttonNodes.containsKey(cmd)) {
buttonNodes.put(cmd, createButton(cmd));
}
}
}
}
});
}
Thú vị ... Địa điểm để tìm hiểu cách hoạt động của tính năng này có thể là mã nguồn cho [Trình tạo cảnh] (https://bitbucket.org/gluon-oss/scenebuilder/src). Bạn cần phải tìm hiểu xem nó có xử lý thuộc tính này trong 'DialogPane' như một trường hợp đặc biệt (trong đó bạn có thể không may mắn), hoặc nếu nó tìm kiếm một cái gì đó cụ thể (một thuộc tính chỉ đọc có một kiểu có một số hằng số được định nghĩa cùng loại, hoặc một cái gì đó ...). –