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);
}
}
添加回答
举报