猛禽洛的程式筆記庫

[JavaFx] 各種儀錶板 HanSolo – Medusa

Medusa儀錶板,是一套顯示數值用的元件,很適合用在感測器感測數據顯示(如:溫度、濕度等)

Medusa的儀錶板提供了45種樣式,個人覺得很齊全又很漂亮,數值變化時還可以使用特效呢!

以下介紹使用方式:

作者 GitHub

1. 在pom.xml中新增此套件

<dependency>
  <groupId>eu.hansolo</groupId>
  <artifactId>Medusa</artifactId>
  <version>11.5</version>
</dependency>

 

2.在程式碼中新增此元件

private Gauge gaugeTemperature = new Gauge();

private void initGaugeView(){
  gaugeTemperature = GaugeBuilder.create()
      .skinType(Gauge.SkinType.DASHBOARD)
      .animated(true)
      .title("溫度")
      .unit("\u00B0C")
      .minValue(0)
      .maxValue(50)
      .decimals(2)
      .barColor(Color.CRIMSON)
      .valueColor(Color.BLACK)
      .titleColor(Color.BLACK)
      .unitColor(Color.BLACK)
      .shadowsEnabled(true)
      .gradientBarEnabled(true)
      .gradientBarStops(new Stop(0.00, Color.BLUE),
          new Stop(0.25, Color.CYAN),
          new Stop(0.50, Color.LIME),
          new Stop(0.75, Color.YELLOW),
          new Stop(1.00, Color.RED))
      .build();
  gaugeTemperature.setValue(0);
}

 

3.我習慣把此元件加至一個現成的View中,這邊以GridPane為例

gp_dashboard_all.add(gaugeTemperature, 0, 0);
GridPane.setMargin(gaugeTemperature, new Insets(20, 20, 20, 20));

 

4.想改變數值時,直接進行設定

gaugeTemperature.setValue(25);

 

範例如下:

 

其他樣式可參考GitHub上的範例程式,基本上用法都大同小異

-END-

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *