2017-12-18 227 views
0

我試圖讓使用計場景如下自定義水母計的皮膚,使結構(附1圖像)

required_scene

GaugeBuilder stepBuilder = GaugeBuilder.create().skinType(SkinType.DASHBOARD) ; 
Gauge steps = stepBuilder.decimals(0).maxValue(850).unit("M").build(); 
steps.setSkin(new KpiSkin(steps)); 

它給我的場景像下面不是必須場景。

code_generated_scene

而且還附加值的最大值不把它當作最大值(其四捨五入值900)。

請幫我解決這個問題,我在JavaFx中使用標尺實現了新功能。

謝謝

回答

0

Medusa gauges使用預建的皮製成,因此每一位皮膚都唯一支持的屬性(少數是通用於所有) 作爲一個例子IndicatorSkin有尖針和KpiSkin有正方形因此你不可能在KpiSkin有尖的針頭(遺憾的是這是你的主要要求之一)。同樣在您的要求中,您有三個閾值區域(紅色,黃色,綠色),但KpiSkin根本不支持閾值,順便提一下IndicatorSkin支持一個閾值,而不是三個:(也是最大值總是四捨五入到最接近的百分之一值你也不能表現出精確值。

考慮所有支持的屬性後,最大可以實現一些像這樣的事情。(使用KpiSkin)

enter image description here

並不樂觀夠了吧?可悲的是,這是最終的真相

如果我是你,我會用Label創建我自己的自定義標尺,但是這對於新手程序員來說需要時間。所以我會sujjest你去與在美杜莎gauzes existing Skin或去替代圖書館像jfxtras

+1

謝謝你的解釋很好,可以請你給我推薦一些圖書館(我包括jfxtras),如** medusa **,通過它我可以得到它,因爲我需要製作另一個場景,其中包含兩個半圓形指示棒(不需要尖針) –

+2

@V .Dev除了美杜莎和jfxtras之外,即使我也找不到任何好的圖書館。無論如何檢查[this](https://harmoniccode.blogspot.com/2012/06/jfxtras-series-radial-gauge.html)out – aKilleR