1.舞台,场景,布局,控件,回调
2.舞台:窗口,一个舞台一个窗口,舞台有舞台基础属性,舞台监听事件,做一些回调
3.fxml里面可以写 页面的布局,控件,然后在主程序里面显示页面,舞台,场景
然后 用 一个 controller 去 和 fxml做对应,controller 可以拿到 fxml的所有标签,以及函数执行,简单的说,controller 存在的 意义 就是 拿到 fxml的 布局和空间,以及 对函数做处理。有一个 fxml 就可以 生成一个 controller. 有fxml,就可以拿到fxmlLoader(stage) , 有fxmlLoader 就可以拿到 controller
4.布局中可以嵌套布局,控件中不能嵌套控件
5.怎样去跳转页面,上面说了,一个 fxml 对应 一个 controller 首先main.fxml 在主程序中 show 然后 页面上的 按钮等 事件 触发 controller里面的 函数,如果这时想跳转页面,直接 获取对应页面的 fxml ,再创建 一个 stage show即可,同样有了这个 fxml 就可以 获得 controller
6.javafx编程,controller里面,只有 javafx包,只有javafx代码 ,在每个响应方法里面,先用javafx 去 获取到 布局,控件的数据信息,简单来说 ,contoller里面只做这几件事(每个响应函数),获取 fxml中控件布局的数据,获取其他fxml以及controller,然后,拿着得到的数据,去 service里面 做业务数据处理,处理完返回 数据给 controller ,controller 再把数据 操作到 javafx 布局 和控件中
7.javafx学的就是,学他的控件,布局,以及各种属性,没有其他的了
8.当然,只有 fxml 没有 controller 我们 也可以完成所有功能,即通过 获得 fxml的资源,我们可以拿到 布局 控件,可以定义控件的 回调函数等 都可以
9.布局 可以 对比 html 每一种布局 都是 里面 操作节点,摆放节点,而节点的 标准模型,都是边框,填充,边距,和对齐,通过改变这,可以更加灵活的 排版
10.通过 fxml写页面,通过回调函数,达到页面和用户的交互,通过java数据,和 获得 fxml的数据,来获得数据,处理数据,通过给 fxml填充数据来显示 页面
11.关于,controller ,他不是 注入的,他是创建的,也就是说,必须创建 control 才行,也就是说,congtroler创建 可以有多个,创建 fxmlload 也等于创建了 controller 因为,fxmlload里面有个属性 是 controller
所以,我们 创建 controller 和 fxmload 只能创建一次 然后操作,如果多次操作,那congtoller都是 不一样的,里面的 属性也是不一样的,结果就是 可能达不到 一次controller的效果,例如 1个controller 将 标签属性改了,另一个 fxmload 去 show 那页面属性一定没变