若是在控制器中實現Initializable這個接口,並重iInitializable這個方法java
對於一個fxml文件來講它首先執行控制器的構造函數,這個時候它是沒法對@FXML修飾的方法進行訪問的,而後執行@FXML修飾的方法,最後執行initializable方法,咱們能夠在initializable方法中app
對fxml文件的控件進行初始化ide
1 //package application; 2 package application; 3 4 import java.io.File; 5 import java.net.URL; 6 import java.util.ResourceBundle; 7 8 import com.sun.prism.paint.Color; 9 10 import javafx.event.ActionEvent; 11 import javafx.fxml.FXML; 12 13 import javafx.scene.text.Text; 14 import javafx.fxml.Initializable; 15 public class MyController implements Initializable { 16 @FXML 17 private Label textOne; 18 public MyController() { 19 System.out.print("one method"); 20 } 21 @Override 22 public void initialize(URL location, ResourceBundle resources) { 23 // TODO Auto-generated method stub 24 textOne.setText("qwe"); 25 } 26 }
fxml文件函數
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.Label?> <AnchorPane fx:controller="application.MyController" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="717.0" prefWidth="824.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml"> <children> <Label alignment="TOP_CENTER" layoutX="60.0" layoutY="139.0" text="電影排行" /> </children> </AnchorPane>