1 回答

TA貢獻1835條經驗 獲得超7個贊
這個問題不能通過創建實例來解決FXMLDocumentController,而是通過確保將實例傳遞給的控制器是與包含的 fxml 一起使用的控制器來解決;您創建的不是new HeadingsController()這個實例。
取而代之的是,FXMLLoader如果您附加到元素的,則將包含元素的控制器注入到具有您獲得的名稱的Controller字段fx:id中<fx:include>:
public class FXMLDocumentController {
@FXML public TextArea textArea;
String selectedText = ""; // why is this field necessary???
// controller for FXMLHeadings.fxml is automatically injected here
@FXML private HeadingsController fxmlheadingsController;
public String getSelectedTextfromTextArea(){
selectedText = textArea.getSelectedText();
return selectedText;
}
public void replaceSelectedText(String string){
textArea.replaceSelection(string);
}
@FXML public void initialize() {
fxmlheadingsController.init(this);
textArea.setWrapText(true);
}
}
添加回答
舉報