TornadoFx学习笔记(1)——常用的代码片段 (2)

我这里用了Kfoenix,jfxradiobutton是Kfoenix中的控件,jfxradiobutton和radiobutton一样

override val root = vbox { togglegroup { jfxradiobutton("选项1") { isSelected = true setOnAction { } } jfxradiobutton("选项2") { setOnAction { } } jfxradiobutton("选项3") { setOnAction { } } } }

TornadoFx学习笔记(1)——常用的代码片段

7.菜单栏 override val root = vbox { menubar { menu("帮助") { item("关于") { //设置点击事件 setOnAction { } } } menu("文件"){ } } ... }

TornadoFx学习笔记(1)——常用的代码片段

8.打开新窗口 内部窗口 button("Open editor") { action { openInternalWindow(Editor::class) } } 新窗口 find(AboutView::class).openModal() 9.View传递数据 10.显示隐藏

比如有一个按钮默认是禁用的,只有当某个单选框被选中的时候,,这个按钮才会启用

val radiobutton = radiobutton(){ } button{ disable{ radiobutton.isSelected } } 11.实时视图

由于是使用kotlin来开发界面,所有,没有像之前那样使用fxml可以直接预览界面,但是,开发提供了一个实时视图,方便我们在debug模式可以快速看到界面,无需重启应用程序

配置

有两种配置方式
1.MyApp中添加如下代码

class MyApp: App(MainView::class,Styles::class){ init { reloadViewsOnFocus() } }

2.在debug配置中添加一个参数--alive-views

TornadoFx学习笔记(1)——常用的代码片段


TornadoFx学习笔记(1)——常用的代码片段

使用

修改View,之后按下Ctrl+F9,等待重载完成,应用的界面就会发生变化

TornadoFx学习笔记(1)——常用的代码片段

PS:同理还有个--live-stylesheets参数(对应reloadStylesheetsOnFocus方法),用来开启样式的热更新

12.css样式 内联样式 override val root = vbox { button{ style { backgroundColor += c("blue") } } } 定义css文件 package com.wan.noveldownloader.app import javafx.scene.text.FontWeight import tornadofx.* class Styles : Stylesheet() { companion object { val MyTab by cssclass() } init { MyTab{ backgroundColor += c("#64b7ea") //伪标签,悬浮 and(hover){ backgroundColor+=c("#6495ED") } } } }

使用addClass方法添加

button{ addClass(Styles.MyTab) }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwypzw.html