javaFX初体验

  1. 每个xml都要指定一个控制器kx:controller=”{里面加上控制器类的路径,路径要以最上面一个包就是src下面的子包开头,中间用点号相连}”。
  2. 在Main主类显示UI的时候,路径也要写成以src为基础目录的样子,比方说:/controller/view/index.fxml,前面斜杠别忘记。
  3. Main主类的start(Stage primaryStage){}函数里的格式
public void start(Stage primaryStage) {
        try {

        primaryStage.setTitle("My Application");//设置标题
            Parent root = FXMLLoader.load(getClass().getResource("/controller/view/index.fxml"));//引入文件,存在Pane类型的root里面


            primaryStage.setScene(new Scene(root));//把Pane包装为场景,并绑在Stage里
            primaryStage.show();显示
        } catch(Exception e) {
            e.printStackTrace();
        }
public void start(Stage primaryStage) {
        try {

            primaryStage.setTitle("My Application");//设置标题



            FXMLLoader loader = new FXMLLoader();//先实例化个FXMLLoader对象来承接.fxml文件
            loader.setLocation(getClass().getResource("/controller/view/index.fxml"));//设置承接文件的路径

            Scene scene = new Scene((AnchorPane) loader.load());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }

每个fxml元素都可以设置一个id,然后在相应的标签上安排方法,超级像js,注意fxml的kx:controller=”{}”的路径问题,当对页面进行操作以后,页面自动寻找kx:contriller=”{}”所指定的控制器,在里面找方法。每个标签的id就是控制器类里边的变量名。比方说,在fxml里指定了一个textfreld的id为mytext,那么在控制器类里面我就可以private TextField mytext; 这样就说明这个变量就是前面那个textfielld,即对这个变量的操作就是对前面fxml标签的操作。

但是在定义变量的时候,一定要加上@FXML注解,@FXML注解用于说明该变量或者方法可以在FXML文件中进行访问

<!--这里的Button对象有需要加@FXML注解,然后变量的名称为你刚才在FXML文件中声明的Button的id属性-->
@FXML
private TextArea myText;

总结一下:JavaFX程序中我们可以使用FXML文件编写前台界面,使用FXMLLoader类将FXML文件绑定到主程序。使用一个Controller类和@FXML注解将操作的逻辑绑定到FXML文件中的界面元素。 在FXML文件中使用fx:id属性声明界面元素的id,在Controller类中以相同的名称定义该元素。onAction属性值给定以#号开头的事件处理函数名称,在Controller类中实现该函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值