首頁 > Java > java教程 > JavaFX FXML 控制器:建構子或 `initialize()` 方法 - 哪一個用於初始化?

JavaFX FXML 控制器:建構子或 `initialize()` 方法 - 哪一個用於初始化?

Barbara Streisand
發布: 2024-12-02 04:20:10
原創
512 人瀏覽過

JavaFX FXML Controllers: Constructor or `initialize()` Method – Which One for Initialization?

JavaFX FXML 控制器:建構子與初始化方法

了解初始化順序

將JavaFX 與FXML 結合使用時,了解控制器的初始化順序是至關重要的。建立 FXML 檔案中指定的控制器類別的實例後,會發生以下步驟:

  1. 建構子呼叫: 呼叫控制器的預設建構子。
  2. FXML 欄位填入: 控制器中以 @FXML 註解的任何欄位都會使用中定義的對應元件進行填入FXML 檔案。
  3. initialize() 方法呼叫: 控制器的initialize() 方法被執行。

建構子與initialize() 方法控制器初始化

建構子與initialize()方法在初始化控制器時有不同的目的控制器:

  • 建構子: 首先呼叫建構函數,並負責獨立於FXML 元件所引用的任何初始化任務。
  • initialize()方法: 填入 FXML 欄位後呼叫initialize() 方法。它提供了一個合適的機會來執行任何需要存取這些元件的後處理或附加初始化。

initialize() 方法存取 FXML 欄位的重要性

存取FXML元件所引用的initialize()方法至關重要。雖然建構子無法存取這些引用,但initialize()方法可以使用它們來存取控制項屬性、設定事件偵聽器或執行其他操作。

用法範例

在提供的程式碼範例,輸出示範了此行為:

  • MainViewController 的建構函式列印「第一個。」
  • MainViewController 的建構子列印「第一個。」
initialize()方法列印「第二個。」

此序列說明了在填充 FXML 欄位後呼叫了initialize() 方法,並且該方法是在適當的地方使用這些參考進行控制器初始化。

以上是JavaFX FXML 控制器:建構子或 `initialize()` 方法 - 哪一個用於初始化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板