2013-08-23 30 views
0

我在自定義XYChart上遇到y軸問題。 y軸是NumberAxis,我將刻度標籤格式化程序設置爲自定義格式化程序。自動測距已關閉。當我更改圖表的上限並請求軸佈局時,舊的標籤會保留在圖表上。通過調試日誌記錄,我可以看到正在調用自定義格式化程序方法,並且它們返回正確的字符串,但圖表上的刻度標籤不會更新。唯一更新的是那些以前沒有在軸上的。例如,如果y軸的範圍爲0到3,然後將上限從3更改爲5,則具有正確值的新標籤將顯示在索引4和5上。但是,0到3的標籤即使自定義格式化程序現在爲它們返回不同的字符串,也不要更新。JavaFX XYChart NumberAxis

我試圖將自定義格式化程序排除在等式之外,當我更改y軸的上限時,將tick標籤填充更改爲另一種顏色,並且看到相同的行爲(預先存在的索引的標籤具有舊的顏色,並且新索引的標籤具有新顏色)。我希望我失去了一些明顯的東西。任何幫助將不勝感激。否則,只要y軸標籤需要更改,我可能需要重新創建圖表。

回答

0

從我發現的情況來看,刻度標籤本身基本上是不可變的。一旦設置了範圍,它只會添加並刪除滴答,但不會更新它們。我做了什麼來克服這個問題是設置上限到下限(有效地刪除所有的滴答),然後將上限設置回我想要的範圍,所以它會重新創建滴答。