當我在JavaFX中調用FXMLLoader#load()時會發生什麼?FXMLLoader如何加載FXML的控制器?
假設FXML控制器擴展了一個具有構造函數的類。會不會保證構造函數會被調用?如果不是,將如何創建對象的新實例?例如,在下面的代碼中,將調用TextField()構造函數嗎?
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
public class FXMLController extends TextField implements Initializable {
@Override
public void initialize(URL url, ResourceBundle rb) {
}
}
我已經嘗試過搜索這一個,但似乎沒有關於它的文檔,除了「從FXML文檔加載對象層次結構」。從http://docs.oracle.com/javafx/2/api/javafx/fxml/FXMLLoader.html
您的回答將不勝感激。非常感謝!
哇。感謝您的及時回覆。該過程聽起來很有趣。你想讓我知道你的來源嗎? –
你可以很容易地測試這個行爲,你也可以在openjdk的源代碼中看到它 – Sebastian
謝謝。我可能會檢查openjdk。 –