【问题标题】:JavaFX 2.2 How to resize a chart based on anotherJavaFX 2.2 如何根据另一个调整图表大小
【发布时间】:2014-10-30 17:48:56
【问题描述】:

每当调整 ChartA 的 y 轴大小时,我想修改 ChartB 的 y 轴高度 (例如:chartB.yAxis = chartA.yAxis*0.5)。

有没有办法做到这一点?

【问题讨论】:

  • 您的意思是高度(像素数),还是真正的边界(即绘制的值的范围)?
  • @James_D 像素数。
  • chartB.prefHeightProperty().bind(chartA.heightProperty().multiply(0.333)); chartB.minHeightProperty().bind(chartA.heightProperty().multiply(0.333)); chartB.maxHeightProperty().bind(chartA.heightProperty().multiply(0.333));上面的代码有效,但我不确定这是否是正确的方法。
  • 我只是想把它作为答案发布......当然,它给出了 1/3 的高度,而不是 1/2,但 htat 工作得很好。

标签: java javafx javafx-2 javafx-8


【解决方案1】:

chartB.prefHeightProperty().bind(chartA.heightProperty().multiply(0.5)); chartB.minHeightProperty().bind(chartA.heightProperty().multiply(0.5)); chartB.maxHeightProperty().bind(chartA.heightProperty().multiply(0.5));

说明: 从图表 B 的高度属性(prefHeightProperty、minHeightProperty 和 maxHeightProperty)开始,并将其绑定到图表 A 的高度属性 1/2,这意味着每次图表 A 的高度发生变化时,chartA.heightProperty() 将提供图表 A 的新高度 this值乘以 1/2 或 0.5 以获得图表 B 的新高度值(以像素为单位)。图表 B 上的绑定 API 将使用此新高度值并在图表 B 上设置首选项高度、最小高度和最大高度。

注意:精确控制图表 B 高度的唯一方法是绑定所有 3 个属性,即 prefHeightProperty、minHeightProperty 和 maxHeightProperty

【讨论】:

  • 请编辑您的答案以添加对您的代码如何工作以及它如何解决 OP 问题的解释。很多 SO 发帖人都是新手,看不懂你贴的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
  • 2014-01-23
相关资源
最近更新 更多