1 回答

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊
這個(gè)問(wèn)題不能通過(guò)創(chuàng)建實(shí)例來(lái)解決FXMLDocumentController,而是通過(guò)確保將實(shí)例傳遞給的控制器是與包含的 fxml 一起使用的控制器來(lái)解決;您創(chuàng)建的不是new HeadingsController()這個(gè)實(shí)例。
取而代之的是,F(xiàn)XMLLoader如果您附加到元素的,則將包含元素的控制器注入到具有您獲得的名稱的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);
}
}
添加回答
舉報(bào)