Как раскрасить бар BarChart в TornadoFx? - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь изменить цвета / затенение полос гистограммы в TornadoFX с помощью пользовательской таблицы стилей.

Я сталкивался с этим сообщением: Цвет панели JavaFX BarChart , в котором используется селектор -fx-bar-fill, но мне трудно перевести это в форму, которую TornadoFX примет.

Вот моя таблица стилей:

class BarChartStyles : Stylesheet(){

  companion object {
      val histogramChart by cssclass()
      val backColor = c("#4682B4")
  }

  init{
      histogramChart{
          defaultColor0{
              chartBar{
                  barFill = backColor
              }
          }     
      }
  }
} 

И вот как я объявляю BarChart:

barchart("my histogram", CategoryAxis(), NumberAxis()){

            barGap = 0.0
            categoryGap = 0.0

            hgrow = Priority.ALWAYS
            vgrow = Priority.ALWAYS

            style{
                minWidth = 640.px
                minHeight = 240.px
                maxHeight = 480.px
            }

            addClass(BarChartStyles.histogramChart)

            series("Portfolio 1") {
                data("1", 23)
                data("2", 14)
                data("3", 15)
                data("4", 23)
                data("5", 14)
                data("6", 15)
                data("7", 23)
                data("8", 14)
                data("9", 15)
                data("10", 23)
                data("11", 14)
                data("12", 15)
                data("13", 23)
                data("14", 14)
                data("15", 15)
                data("16", 23)
                data("17", 14)
                data("18", 15)
            }

        }

1 Ответ

0 голосов
/ 09 января 2019

Без TornadoFX вы могли бы использовать селектор .chart-bar в своей таблице стилей без определения каких-либо пользовательских классов CSS:

.chart-bar {
    -fx-bar-fill: #4682B4; 
}

Эквивалент TornadoFX:

class BarChartStyles : Stylesheet() {

    companion object {
        val backColor = c("#4682B4")
        val chartBar by cssclass()
    }

    init {
        chartBar {
            barFill = backColor
        }
    }
}

После применения стиля ваш пример выглядит следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...