Tôi cần có trình xử lý lựa chọn và chọn phương pháp trên ngăn để có thể giám sát và trình bày đánh dấu khi nút được nhấp vào.Thêm thành phần tùy chỉnh vào SceneBuilder 2.0
tôi đã làm như sau:
public class PaneWithSelectionListener extends Pane {
private ObjectProperty<Annotation> selectedAnnotation = new SimpleObjectProperty<>();
public PaneWithSelectionListener() {
super();
selectedAnnotation.addListener((obs, oldAnno, newAnno) -> {
if (oldAnno != null) {
oldAnno.setStyle("");
}
if (newAnno != null) {
newAnno.setStyle("-fx-border-color: blue;-fx-border-insets: 5;-fx-border-width: 1;-fx-border-style: dashed;");
}
});
setOnMouseClicked(e->selectAnnotation(null));
}
public void selectAnnotation(Annotation ann){
selectedAnnotation.set(ann);
}
}
Và điều này làm việc tuyệt vời - tuy nhiên tôi không thể làm việc với SceneBuilder nữa kể từ khi tài liệu tham khảo FXML tôi PaneWithSelectionListener này chứ không phải là Pane. Tôi không chắc chắn làm thế nào để có được khung tùy chỉnh của tôi vào SceneBuilder. Tôi đã xem xét các câu hỏi khác và tất cả chúng đều là sự kết hợp của FXML và Bộ điều khiển - nơi đây chỉ là một Pane.
Có ai biết cách thực hiện việc này hay có thể hoán đổi Pane cho PaneWithSelectionListener lúc khởi tạo không?
Cảm ơn
Bạn chỉ cần lựa chọn duy nhất? –
Có - Lựa chọn duy nhất là tất cả những gì tôi cần. Tôi đại diện cho chú thích trên đầu trang của một hình ảnh. Nếu người dùng nhấp vào một - nó sẽ chọn. Tôi không nghĩ rằng họ cần nhiều lựa chọn. Chỉ là một chỉ báo mà một trong những sẽ bị ảnh hưởng. Cảm ơn. –