In FXML, how do you connect a controller to the FXML file?
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "<fx:controller fx:id="controller" value="MyController" />". Cần nói thẳng: trong FXML thật không có phần tử nào tên fx:controller; controller được gắn bằng thuộc tính fx:controller đặt trên phần tử gốc của tệp, ví dụ <VBox fx:controller="com.foo.MyController">, rồi FXMLLoader tạo đối tượng lớp đó và tiêm các trường @FXML theo fx:id. Vì vậy cả bốn phương án đều không phải cú pháp chạy được, và đáp án ở đây được giữ theo khoá của đề chứ không có căn cứ kỹ thuật nào để xếp nó trên phương án chỉ có value: cả hai cùng mang ý khai báo lớp controller MyController qua tên fx:controller, còn thuộc tính fx:id thêm vào không đóng vai trò gì trong việc gắn controller, nó chỉ đặt định danh cho một phần tử. "<fxml controller="MyController" /> " sai vì FXML không có thẻ fxml, và controller ở đây thiếu tiền tố fx. "<fx:controller type="MyController" />" sai vì type không phải thuộc tính dùng để gắn controller. "<fx:controller value="MyController" />" cũng sai cú pháp y như vậy vì vẫn dùng một phần tử fx:controller không tồn tại.