JavaFX Medusa量规显示阈值TileKpiSkin

时间:2019-02-18 09:45:05

标签: java javafx

我正在尝试使用Medusa JavaFX库中的Gauge

Picure of gauge

但是,当我尝试构建它时,会得到以下结果:

Rendered Gauge

如您所见,仪表未显示阈值。为什么会这样?

这是我用来创建量规的代码:

public static Gauge e(String name, int value, int maxValue ) {
    Gauge gauge = new Gauge();
    //gauge.setSectionIconsVisible(false);
    gauge.setPrefSize(300, 300);
    gauge.setSkin(new TileKpiSkin(gauge));
    gauge.setMaxValue(100);
    gauge.setThreshold(60);
    gauge.setTitle("this is it");
    gauge.setValue(25);
    gauge.setValueColor(Color.WHITE);  
    gauge.setTitleColor(Color.WHITE); 
    gauge.setThresholdVisible(true);
    gauge.setThresholdColor(Color.RED);
    //gauge.setSectionIconsVisible(false);
    //gauge.setSectionsVisible(false);
    return gauge;

}

任何帮助都是很棒的。

1 个答案:

答案 0 :(得分:0)

您应该查看所用皮肤的源代码,文本设置为透明,这就是为什么在矩形中什么都看不到的原因:

thresholdRect = new Rectangle();

    thresholdRect.setFill(sectionsVisible ? GRAY : gauge.getThresholdColor());

    enableNode(thresholdRect, gauge.isThresholdVisible());



    thresholdText = new Text(String.format(locale, "%." + gauge.getTickLabelDecimals() + "f", gauge.getThreshold()));

    thresholdText.setFill(sectionsVisible ? Color.TRANSPARENT : gauge.getBackgroundPaint());

    enableNode(thresholdText, gauge.isThresholdVisible());