一、点击按钮变更字样
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class HelloApplication extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//这里的root从FXML文件中j加载进行初始化,这里的FXMLLoader类用于加载FXML文件
BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource("MainPanel.fxml"));
Scene scene = new Scene(root,500,500);
primaryStage.setScene(scene);
primaryStage.setTitle("Hello JavaFx");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
public class MainPaneController {
//这里的Button对象有需要加@FXML注解,然后变量的名称为你刚才在FXML文件中声明的Button的ID属性
@FXML
private Button btnHello;
@FXML
protected void handleButtonAction(ActionEvent event) {
btnHello.setText("HELLO WORLD,I AM JAVAFX");
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!--导入JavaFXML类-->
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<!--布局控件BorderPane,fx:controller属性用于声明事件处理的Controller,值为Controller类的类全名-->
<!--xmlns用于声明默认命名空间,这里的声明随着你安装的Java JDK版本号的不同可以不同,但是最好不要比你安装的JDK版本高-->
<BorderPane fx:controller="MainPaneController" xmlns="http://javafx.com/javafx/8.0.201" xmlns:fx="http://javafx.com/fxml/1">
<center>
<!--声明一个Button元素,fx:id用于给该Button一个标示,用于和Controller类中的Button实例进行绑定-->
<!--onAction用于绑定Button的点击事件,handleButtonAction前面的#用于和Controller中处理函数进行绑定-->
<Button fx:id="btnHello" text="Hello World!" BorderPane.alignment="CENTER" onAction="#handleButtonAction">
<!--这里我修改了Button默认的字体及其大小-->
<font>
<Font name="Arial" size="14.0" />
</font>
</Button>
</center>
</BorderPane>