kotlin - 模态中的片段条形图未更新 - TornadoFX
问题描述
我创建了一个片段来保存 aBarChart
和 a ScrollPane
- 最终结果将是一个可滚动的直方图。
我正在使用该openModal
方法在单独的模式中创建这些新片段。
我遇到的问题是BarChart
当我调用我的方法时似乎没有更新loadData
,如下所示:
class Histogram : Fragment() {
override val root = vbox{
hgrow = Priority.ALWAYS
vgrow = Priority.ALWAYS
style{
minWidth = 1280.px
minHeight = 180.px
}
hbox{
hgrow = Priority.ALWAYS
}
}
private val bar = ScrollBar()
private var barChart = barchart("bar", CategoryAxis(), NumberAxis()){
barGap = 0.0
categoryGap = -1.0
hgrow = Priority.ALWAYS
vgrow = Priority.ALWAYS
style{
minWidth = 640.px
minHeight = 240.px
maxHeight = 480.px
}
isLegendVisible = false
}
private val s = XYChart.Series<String, Number>()
init{
root.add(barChart)
root.add(bar)
}
fun loadData(h: AlignmentHistogram){
s.data.add(XYChart.Data<String, Number>("asd", 2))
barChart.title = h.rname
/* for(i in 0..MAX_DATASET_SIZE){
if(i > h.histogram.size){
break
}
val data = XYChart.Data<String, Int>((h.firstPosition + i + 1).toString(), (h.histogram[i]))
println(data)
s.data.add(data)
}*/
s.data.add(XYChart.Data<String, Number>("asasdd", 5))
s.name = h.rname
barChart.data.add(s)
}
}
AlignmentHistogram
只是一个 POJO,其中包含直方图的数据和一些其他细节。
我使用以下代码调用片段:
val stage = Stage()
stage.title = "${pointer.rname} - ${selectedFile.file.name}"
val view = Histogram()
view.loadData(h)
val parent = StackPane()
stage.scene = Scene(parent, 1280.0, 360.0)
view.openModal(StageStyle.UTILITY, Modality.NONE, false, stage, false, true)
尽管调用,但结果只是新模态中的空直方图barChart.data.add(s)
有任何想法吗?提前致谢!
解决方案
推荐阅读
- python - 脚本需要旧的 tensorflow,许多 GPU。跑到哪里去?
- excel - VBA - 循环多个工作簿并保存到主工作簿时覆盖的单元格
- c# - 我为基于 Selenium SpecFlow 的 Visual Studio 解决方案使用什么项目类型
- swift - 无法预览此文件,应用程序可能已崩溃 -- 输入特定代码行时发生
- javascript - 在 ag-grid 浮动过滤器中键入多个值
- python - (Tkinter)相同的代码 - 没有变化 - 当我运行它时会起作用然后不再起作用吗?绑定回车键功能
- javascript - React:以回调为道具连接 HOC
- python - 具有高斯先验的主持人给出 NaN
- google-analytics - PWA 渐进式 Web 应用中的 Google Analytics(分析)
- html - 我们如何使@media only max-width 不适用于更大的屏幕?