亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaFX無法設置Label或Text的文本

JavaFX無法設置Label或Text的文本

qq_花開花謝_0 2024-01-28 16:08:57
我不知道為什么這不起作用。我想設置標簽或文本的文本。(如果有效的話,哪個都沒關系)。標簽保持不變。當我使用 Text 時,應用程序崩潰了......@FXML    public Text txtMessage;    @FXML    public Text txtTitle;    @FXML    public Text txtResult;    @FXML    public Label lblResult;    public void display(String title, String message) throws IOException {        txtResult = new Text();        lblResult = new Label();        Stage stage = new Stage();        stage.initModality(Modality.APPLICATION_MODAL);        Parent root= FXMLLoader.load(getClass().getResource("/Alertbox.fxml"));        lblResult.setText("message");        stage.setTitle(title);        stage.setScene(new Scene(root));        stage.show();    }它有 2 個參數。我嘗試添加@FXML,或刪除@FXML,但兩者都不起作用。我還嘗試初始化標簽和文本。 txtResult = new Text(); lblResult = new Label();我調試了代碼。message 是一個字符串,包含正確的消息。
查看完整描述

1 回答

?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

當您調用時不應創建控制器,FXMLLoader.load因為load將創建控制器。您也不應該使用 load 的靜態版本。你的代碼應該看起來像這樣:


public static ControllerClass display(String title, String message) throws IOException {

    Stage stage = new Stage();

    stage.initModality(Modality.APPLICATION_MODAL);

    FXMLLoader loader = new FXMLLoader();

    Parent root= loader.load(getClass().getResource("/Alertbox.fxml"));

    ControllerClass controller = loader.getController();    

    controller.lblResult.setText("message");

    stage.setTitle(title);

    stage.setScene(new Scene(root));

    stage.show();

    return controller;

}


這可能仍然不完全正確,但它應該為您指明正確的方向。


注意,ControllerClass 是控制器的類名。


查看完整回答
反對 回復 2024-01-28
  • 1 回答
  • 0 關注
  • 182 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號