当我在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。 –