【问题标题】:JavaFX: how to keep the XYChart ticks constantJavaFX:如何保持 XYChart 刻度不变
【发布时间】:2017-04-10 13:07:26
【问题描述】:

我有一个 XYChart,其刻度单位设置为 X 轴的 25。 图表具有滑动功能。每次我向左或向右滑动时,我都希望刻度保持不变。到目前为止,我有 10 或 11 个滴答声,设置为 25 个距离,它们改变了它们的值——我想要那个常数。

例如: 下限 = 480 上限 = 600 刻度:480、505、530、555、580、600。

我向右滑动:我仍然想在不同的位置看到 480、505、530、555、580、600,如果我向右走得足够多,可能会摆脱 480 并看到 605、630...

请多多指教。

【问题讨论】:

    标签: javafx


    【解决方案1】:

    修复它: 写了一个类似NumberAxis的新类,除了calculateTickValues是用我自己的逻辑实现的:

    if (lowerBound + tickUnit < upperBound) {
        double start = lowerBound;
        while ((int)start % (int)tickUnit != 0) {
            start++;
        }
        int count = (int)Math.ceil((upperBound - start)/tickUnit);
        for (int i = 0; start < upperBound && i < count; start += tickUnit, i++) {
             if (!tickValues.contains(start)) {
                 tickValues.add((int) start);
             }
        }
    }
    

    这里 tickUnit=25,在我使用的 Chart 类上设置,它扩展了 AbstractBaseChart。 它不是很优雅,但很有效。

    【讨论】:

      猜你喜欢
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      相关资源
      最近更新 更多