快速开始
在 app.json 写下配置,再写一个主类,框架就会扫描你的包并启动应用。
基于 @Bean 与 @Autowired 的组件管理与依赖注入,自动扫描启动类所在包及其子包。
标注 @FxmlView 即自动加载 FXML,并把控制器注册为可注入的 Node Bean。
窗口级页面导航,支持页面参数、替换、返回栈与返回结果;模态框、通知和默认样式开箱即用。
WindowCreator · WindowTasks 统一管理 JavaFX Task,并提供可直接使用的任务列表视图。
@Settings 从 JSON 文件加载配置,并在应用退出时自动写回,无需手写序列化。
基于 ResourceBundle 的国际化支持,默认语言可在 app.json 中配置。
@Initialize、@PreDestroy、@OnEvent 提供完整的生命周期与事件回调。
@OnKeyPressed 把按键事件直接绑定到方法上,快捷键不再散落在各处监听器里。
@Bean
@FxmlView("hello-view.fxml")
public class HelloView {
@Autowired
private GreetingService service;
@OnKeyPressed("hello")
private void onHello() {
service.greet("Hello World!");
}
}
在 CwaFX 里,一个视图就是一个 Bean。标注 @FxmlView 之后,
框架会自动加载 FXML、把它注册成 Node Bean,并按需完成依赖注入与生命周期回调。
需要跳转到新页面?交给 WindowCreator——页面参数、返回栈和返回结果都不用自己操心。
需要跑耗时逻辑?交给 Tasks,UI 线程安全由框架保证。