tôi tự hỏi như thế nào người ta có thể sử dụng fx:include
kết hợp với JavaFX Scene Builder, do đó:JavaFX Scene Builder và fx: include
Hãy tưởng tượng tôi có một BorderPane
(file borderpane.fxml
). Trong phần trung tâm, tôi muốn đặt một Label
, tuy nhiên sẽ được định nghĩa trong một tệp FXML riêng biệt, ví dụ: label.fxml
.
Vấn đề đầu tiên của số này: Vì label.fxml
sẽ được tích hợp vào một vùng chứa (BorderPane), nó không cần chính nó. Tuy nhiên, SceneBuilder chỉ cung cấp tùy chọn để tạo bố cục là một vùng chứa?
Thứ hai vấn đề: Tôi có thể tạo ra các label.fxml
bằng tay và sau đó điều chỉnh borderpane.fxml
bằng tay để bao gồm các label.fxml
. Sau đó tôi có thể tải tệp borderpane.fxml bằng SceneBuilder mà không gặp bất kỳ sự cố nào. Tuy nhiên khi tôi bây giờ thay đổi nội dung của nhãn và chọn "Save", không phải là label.fxml
được sửa đổi, nhưng thay vào đó là borderpane.fxml
được sửa đổi như sau:
# borderpane.fxml
<fx:include source="label.fxml" text="the new label text" />
Văn bản nhãn mới nên được ghi vào label.fxml
, chưa borderpane.fxml
, những gì hiện đang thực hiện.
Tôi có làm gì sai không?
Trình SceneBuilder không có ý định sử dụng kết hợp với fx: include?
Tôi muốn Bộ điều khiển riêng cho các phần của GUI, tôi cho rằng điều này khá hợp lý/bình thường, vì vậy kịch bản sử dụng thực tế này có thể được hỗ trợ bởi SceneBuilder?
Giải thích hay nhưng có một vấn đề: nếu bạn bao gồm tệp fxml, bạn không thể kéo tệp đó vào trình tạo scence để đặt nó ở bất cứ nơi nào bạn muốn trong ứng dụng của mình! – SlimenTN