【问题标题】:Fragment BarChart in Modal is not updating - TornadoFX模态中的片段条形图未更新 - TornadoFX
【发布时间】:2019-06-04 03:22:39
【问题描述】:

我创建了一个片段来保存BarChartScrollPane - 最终结果将是一个可滚动的直方图。

我正在使用 openModal 方法在单独的模式中创建这些新片段。

我遇到的问题是,当我调用 loadData 方法时,BarChart 似乎没有更新,如下所示:

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),但结果只是新模态中的一个空直方图

有什么想法吗?提前致谢!

【问题讨论】:

    标签: kotlin tornadofx


    【解决方案1】:

    没关系,我通过将 POJO 作为范围传递并将设置代码放入 init 块中来解决它。

    这篇文章对范围部分有所帮助:

    Tornadofx - How to pass parameter to Fragment on every instance

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多