Tag: tornadofx

创建一个任意的视图

所以,我有一个情况,我需要有N行的形式: Label TextView/Checkbox 。 也许我将不得不比这两个视图更多,所以我想能够支持任何TornadoFx View 。 我创建了一个接口,它有一个返回TornadoFx View方法,如下所示: interface ValueContainer { fun getView() : View } 其中一个实现如下所示: class BooleanValueContainer(val checked: Boolean) : ValueContainer { val valueProperty = SimpleBooleanProperty(checked) override fun getView(): View { return (object : View() { override val root = checkbox { bind(valueProperty) } }) } } 现在,当我尝试在init块中使用它时,它不会显示在布局中。 root是GridPane , parameters是具有ValueContainer实现的名称和引用的对象列表( BooleanValueContainer或其他我没有显示的): […]

TornadoFX – 使用ContextMenu右键单击选项移除项目

所以我有一个表格视图,显示AccountsArrayList Account(name, login, pass) ,这些都是数据类。 当我右键单击一个单元格时弹出删除选项。 我想要做的是从observedArrayList删除该Account 只有我找不到办法做到这一点。 我没有JavaFX或TornadoFX的经验,我也无法找到答案谷歌或在TornadoFX指南和文档。 这是我的代码: class ToolView : View() { override val root = VBox() companion object handler { //val account1 = Account("Google", "martvdham@gmail.com", "kkk") //val account2 = Account("Google", "martvdham@gmail.com", "Password") var accounts = FXCollections.observableArrayList<Account>( ) var gson = GsonBuilder().setPrettyPrinting().create() val ggson = Gson() fun writeData(){ FileWriter("accounts.json").use { ggson.toJson(accounts, it) […]

在TornadoFX中,我怎样才能将布局分成不同的类,然后在构建器中使用呢?

例如,我想要一个TabPane,但我希望在其单独的类中有每个选项卡。 有没有办法使这个建设者的工作? 我想要做这样的事情: tabpane { MyFirstTab() MySecondTab() etc. }

TornadoFx ItemViewModel项目为空

我有课 data class Patient( val birthNumber: String , val firstName: String , val lastName: String , val birthDate: LocalDate , val healthInsurance: InsuranceCompany , val hospitalizations : List<Hospitalization> = emptyList() ) 机智的itemViewmodel类 class PatientModel : ItemViewModel<Patient>() { val birthNumber = bind(Patient::birthNumber) val firstName = bind(Patient::firstName) val lastName = bind(Patient::lastName) val birthDate = bind(Patient::birthDate) val healthInsurance […]

如何用java 7运行龙卷风fx hello world 7

我一直试图从YouTube上运行下面的例子没有成功,首先它不能加载类的路径上的javafx,所以我手动添加它,但现在它说,它不能找到main方法除了事实,该作者可以运行它没有主要方法。 另外,安装tornado fx插件并从模板创建项目会引发相同的错误。 我相信这是相关的Java 7和没有使用javafx包工具。 LoginScreen.kt class LoginScreen : View() { override val root = VBox() init { with (root) { hbox { label("Username") textfield() } hbox { label("Password") passwordfield() } hbox { button("Login") } } } } MyApp.kt class MyApp : App() { override val primaryView = LoginScreen::class }

有关DI,ViewModel等的问题

我有以下代码: class ExampleView :View("My Example view") { val model:ExampleModel by inject() override val root= vbox { textfield(model.data) button("Commit") { setOnAction { model.commit() closeModal() } } button("Rollback") { setOnAction { model.rollback() closeModal() } } button("Just quit") { setOnAction { closeModal() } } } } class Example() { var data by property<String>() fun dataProperty() = getProperty(Example::data) } […]

TornadoFX如何用子窗口模型列表创建MDI?

我有以下组件: class ChildModel:ViewModel() { //or it may be an POJO, it does not matter val value …. } class ParentView: View() { … //Maybe this should be implemented into ParentViewModel val childrenList:List<ChildModel> fun addFragmentAsChild() { //should: // 1. display fragment within ParentView // 2. add fragment into modelList (or fragmentList – it does not matter […]

有没有办法将属性绑定到tornadofx的appConfig?

假设我想在tornadofx中使用appConfig保存视图的高度和宽度值。 是否有反正我可以将这些属性绑定到appConfig,以便当我保存配置时,最新的高度和宽度值将永远保存?

动态表格列

当我想从只包含字符串的列表(例如,来自csv的数据)列表中生成表时,我该如何继续。 列名不重要。 从提供的所有例子中,我只看到绑定表项到特定的模型(这不适合那里,因为我有未知的数量和名称的列)。

如何使用TornadoFx创建嵌套/拆分列标题?

我创建了一个有4个主标题的tableview,每个标题都有一个“费用”和“单位”属性。 在普通的JavaFx中,可以将列添加到列中并进行分割: TableColumn emailCol = new TableColumn("Email"); TableColumn firstEmailCol = new TableColumn("Primary"); TableColumn secondEmailCol = new TableColumn("Secondary"); emailCol.getColumns().addAll(firstEmailCol, secondEmailCol); 有可能在tornadoFX做到这一点?