问题标签 [tornadofx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javafx - tornadofx EventBus 使用 tableview 对象扩展表格行
背景:
假设我在一个视图中有单个表的多个片段,每个片段都有一个 rowExpander。
预期行为:
如果我在一个表片段中展开一行,其他片段相同的索引行应该被展开。崩溃也一样
我的进度:
示例片段:
活动类别:
我从“订阅”中了解到的是,它在触发事件时被调用(目前,每当用户通过双击/单击加号扩展行时,我都会触发该事件);并且由于订阅放置在 tableview 中,因此会为所有存在的表片段调用它(这就是我想要的)。但是在 subscribe 方法中,我正在做一个 selectionModel.select(event.index) ,它只选择相应的索引行。我想扩展行(最好使用 selectionModel)
问题2:
是否可以删除加号列?对于rowExpand,如果我将expandOnDoubleClick 设置为true,我不想在我的tableview 中添加加号列。
javafx - Tornadofx tableview 使用组合框并在按钮上添加 FXEvent
我在以下基本问题上需要帮助:
要求:
我有一个可以编辑(内联)的表格视图,也可以删除行,如果需要,还可以单击按钮进行一些复杂的操作。
我的看法,以下是 3 个小问题:
- 我用 isEditable = true 创建了一个表格视图,并将列名设为可编辑。但是当我编辑时,它不会绑定到模型。(一定少了一个很简单的东西)
- 编辑时,组合框会显示选项,但在选择值时会引发异常。
java.lang.ClassCastException:javafx.beans.property.SimpleStringProperty 不能转换为 javafx.beans.property.ObjectProperty
然后,我添加了一个删除按钮,当我取消注释 tableView.items.removeAt(index) 时它工作正常
但是因为我想要一些额外的功能,所以我决定使用 FXEvent 火。但是我应该如何在这里使用它。
kotlin - TornadoFX 如何使用子窗口模型列表创建 MDI?
我有以下组件:
摘要:我想创建 MDI 并为每个孩子访问模型。
我尝试通过帮助 "openInternalWindow" 执行此操作,但我无法创建多个子实例,我必须手动管理列表 - 这很糟糕。
如何正确使用 tornadofx 方式?
gradle - 如何使用 Kotlin 和 Tornado FX 设置 Gluon 应用程序
我目前尝试结合以下技术:
- 胶子(移动)
- Gradle(Gluon的依赖,因为他们依赖它)
- Kotlin(因为它是我想深入研究的一门很好的语言)
- Tornado FX(我猜是 JavaFX 的,Anko 是 Android 的)
问题是,我对 Intellij-IDEA 比较陌生,并且在正确设置它时遇到了问题,尽管我认为该build.gradle
文件足够合适。
这是我build.gradle
到目前为止的样子:
我至少设法阻止 IDE 抱怨 Kotlin。我将一个简单的应用程序类转换为如下所示:
但现在我被困住了,因为对 Tornado FX 的依赖没有得到正确解决。我想创建一个View
并开始
但是像这样的进口import tornadofx.View
永远不会得到解决。
有问题吗,因为 Tornado 似乎使用 Kotlin 1.0.5
,而我想使用1.0.6
?(虽然这没有效果,但如果我改变它,关于(仍然未使用,因为“未解决”)View
......)
问候,丹尼尔
kotlin - 关于 DI、ViewModel 等的问题
我有以下代码:
对于这个例子,我有两个问题:
1)如果我更改值并在没有提交的情况下关闭窗口(用户可以使用帮助 [X] 按钮执行此操作),那么只有 ViewModel 会存储更改(即使在重新打开后它也会显示在 GUI 中),但模型POJO 对象将保留旧数据。
如果我使用 Example 类的实例(没有 DI),那么这个实例会立即收到所有更改。
例如,我不想要提交/回滚功能,但我想要 DI 和立即更新。我该做什么?(我可以为“文本字段更改值事件”调用“提交”)
2) ViewModel 具有带参数的构造函数,如果我尝试像这样打开 ExampleView
然后我得到了一个明显的 RuntimeException。例如,我可以通过编译器警告(或其他方式)来避免这种情况吗?
kotlin - 在 TornadoFX 中,如何将布局分离到不同的类,然后在构建器中使用它们?
例如,我想要一个 TabPane,但我希望每个选项卡都在其单独的类中。有没有办法让建造者完成这项工作?我想做这样的事情:
javafx - 带有 TestFX 的 TornadoFX 在每个 TestCase 之后关闭视图
我正在尝试使用 testfx 框架测试一个基本的登录屏幕(使用 tornadofx 创建)。
我添加了 3 个运行良好的测试用例,但问题是它们使用前一个阶段而不是创建一个新的阶段。我希望测试用例独立运行。
我正在测试 View() 而不是 App()。如果我使用 MyMainApp().start(stage) 然后 MyMainApp().stop(),我会得到所需的行为。
但是如何为视图和片段执行此操作。
下面是代码:
java - 在 TornadoFX 中,如何在更改其他属性时更改一个属性?
例如,我想这样做:我有一个 StringProperty,它是一个 IntegerProperty 和另一个 StringProperty 的组合,如下所示:
- 字符串属性 A = "foo"
- 整数属性 B = 3
- 结果 StringProperty C = "foo 3"
如何“绑定”属性,以便在更改 A 或 B 时更改 C?(请注意,我不想对 C 所做的更改做出反应)
我尝试使用stringBinding()
方法,但我不清楚这种方法是如何工作的,关于它的文档也不清楚。
java - 在 TornadoFX 中,如何使用 objectBinding 将 BigDecimal 属性绑定到另一个 BigDecimal 属性?
我正在尝试创建一个绑定BigDecimal
属性,该属性是对其他两个属性的计算BigDecimal
,如下所示:
...就像我对StringProperty
or所做的那样IntegerProperty
,否则它会毫无问题地工作。但是,这一次我得到一个类型不匹配:它期望ObjectProperty<BigDecimal>
,但接收ObjectBinding<BigDecimal?>
。
这里有什么问题?我是不是用objectProperty()
错了方法?我应该使用其他方法来创建自定义对象的绑定吗?
编辑:
问题是我试图ObjectProperty<BigDecimal>
用ObjectBinding<BigDecimal>
. 就我而言,解决方案是制作原始ObjectProperty<BigDecimal>
抽象,并将实现留给继承它的类。