首頁 >Java >java教程 >如何從其他類別修改 JavaFX 控制器中的 TextArea 值?

如何從其他類別修改 JavaFX 控制器中的 TextArea 值?

Barbara Streisand
Barbara Streisand原創
2024-11-03 21:55:02991瀏覽

How to Modify TextArea Values in JavaFX Controllers from Other Classes?

JavaFX 控制器類別錯誤

問題:
許多開發人員很難實作FX 控制器,很難實現Java特別是在尋求解決方案時修改其他類別中的TextArea 值。嘗試建立擴展可初始化的控制器類別通常會帶來挑戰。

修正:

避免使用 Application 類別作為控制器。相反,建立一個單獨的 Controller 類別來擴展 JavaFX 的 Controller 類別之一,例如 Initializes。

此外,將 @FXML 程式碼區塊與 Main 類別分離並將其放置在 Controller 類別中。這種分離將允許更輕鬆地從其他類別更新場景。

範例:

這是一個範例實作:

// Controller class (extends Initializable)
public class ImportController implements Initializable {
    // ...

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        // Initialize the controller
    }

    @FXML
    protected void changeTextAreaValue(String newText) {
        // Update the TextArea value
    }
}

// Main class (loads the FXML and controller)
public class Main extends Application {
    // ...

    @Override
    public void start(Stage primaryStage) {
        try {
            FXMLLoader loader = new FXMLLoader();
            loader.setController(new ImportController());
            Parent root = loader.load(getClass().getResource("Root.fxml"));

            // ...
        }
        // ...
    }
}

附加說明:

  • 附加說明:
附加說明:附加說明: 在UI 正常運作之前避免使用多執行緒程式碼。 考慮使用第三方日誌框架來實現高效的 JavaFX 日誌記錄(例如 JFXLogger) .

以上是如何從其他類別修改 JavaFX 控制器中的 TextArea 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn