第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從第二個(gè)控制器類獲取主控制器類中 textArea 中的選定文本?

如何從第二個(gè)控制器類獲取主控制器類中 textArea 中的選定文本?

慕萊塢森 2023-05-17 16:51:41
我正在嘗試從我的 FXMLDocumentController.java 中的 textArea 獲取選定的文本,并將其傳遞給第二個(gè)控制器類 HeadingsController.java。我在 Netbeans 中運(yùn)行該應(yīng)用程序,它可以正常啟動(dòng)和加載。單擊帶有 fx:id="h1Link" 的超鏈接時(shí)出現(xiàn) nullPointerException??罩羔槷惓T?HeadingsController.java 的第 27 行表示它是String selectedText = fxmlDocC.getSelectedTextfromTextArea();FXMLDocumentController.java 是我試圖引用的 textArea 所在的位置...package textareatest1;import javafx.fxml.FXML;import javafx.scene.control.TextArea;public class FXMLDocumentController {    @FXML public TextArea textArea;    String selectedText = new String();    @FXML private HeadingsController headingsController = new HeadingsController();    public String getSelectedTextfromTextArea(){        selectedText =  textArea.getSelectedText();        return selectedText;    }    public void replaceSelectedText(String string){        textArea.replaceSelection(string);    }    @FXML public void initialize() {        headingsController.init(this);        textArea.setWrapText(true);    }   }這是上述控制器的 FXML 文件...<?xml version="1.0" encoding="UTF-8"?><?import java.lang.*?><?import java.util.*?><?import javafx.scene.*?><?import javafx.scene.control.*?><?import javafx.scene.layout.*?><BorderPane fx:id="borderPaneRoot" prefHeight="600.0" prefWidth="1000.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="textareatest1.FXMLDocumentController" >    <top>    </top>    <center>        <TextArea fx:id="textArea" />    </center>    <left>        <GridPane id="gridpaneLeft" fx:id="gridpaneLeft" hgap="10.0" prefHeight="200.0" prefWidth="320.0" vgap="10.0" >            <Accordion fx:id="leftAccordion" prefHeight="250.0" prefWidth="680.0">                <panes>
查看完整描述

1 回答

?
qq_花開(kāi)花謝_0

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);

    }   


}


查看完整回答
反對(duì) 回復(fù) 2023-05-17
  • 1 回答
  • 0 關(guān)注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)