JavaFx学习笔记(一)第一个桌面程序与Kotlin
第一个桌面应用程序
Application
Application是一个程序的入口,基本等价于Android的Application:
1 | import javafx.application.Application |
Application的启动必须在Java类的main方法中调用:(在Kotlin的main方法中无法识别)
1 | public class AppEntrance { |
Stage
Stage就等于是一个窗口,它有一切窗口的要素:标题栏、内容等。
1 | primaryStage.apply { |
Layout和FXMLLoader
布局文件的格式为.fxml,类似于Android中的xml,fxml也是一种xml。同时,Android有LayoutInflater,JavaFx有FXMLLoader。
1 | val loader = FXMLLoader(javaClass.getResource("ui/layout_main.fxml")) |
Controller
控制器类,顾名思义,布局文件的控制代码就放在里边,JavaFx使用的是MVC模式。
Controller与Layout绑定
控制器类与布局文件的绑定方式如下:
1 |
|
绑定之后可通过FXMLLoader得到:
1 | val controller = loader.getController<MainController>() |
获取View
在Controller中获取布局中的View的方式是,给相应的View绑定一个id:
1 | <WebView fx:id="wvContent"/> |
然后在Controller中使用与id相同的变量名定义一个public的变量即可:
1 | import javafx.scene.web.WebView |
事件绑定
在布局文件中相应控件上添加onAction字段,填写**#方法名**即可。
然后在Controller中定义一个public的方法:
1 | fun onActionTips(actionEvent: ActionEvent) { |