每个FXML只有一个控制器(一个java类),用以响应页面的各种事件,就像html与js的关系。
引入控制器
在JavaFX Scene Builder设计视图中选中视图的根结点(每个视图只有一个根结点),在右边选择“代码”属性面板,第一个属性为“控制器类”,输入类路径,如t1.T1Controller。
使用控制器中的方法
选中视图树(分层结构)中的任意节点,在右边面板选择“代码”属性面板,有很多事件可供设置,其值为控制器中的方法名前面加上一个#。
以下为控制器的代码
package t1;
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
/**
*
* @author root
*/
public class T1Controller implements Initializable {
@FXML
private Button btn1;
@FXML
private Button btn2;
@FXML
private void btn1Action(ActionEvent event) {
System.out.println("You clicked btn1!");
}
@FXML
private void btn2Action(ActionEvent event) {
System.out.println("You clicked btn2!");
}
@Override
public void initialize(URL url, ResourceBundle rb) {
// TODO
}
}