Как мне увеличить радиус JavaFX PieChart - PullRequest
0 голосов
/ 07 октября 2019

Я бы хотел увеличить радиус круговой диаграммы JavaFX, поскольку размеры по умолчанию отображают слишком маленькую диаграмму. Я понимаю (из ответа, опубликованного @ItachiUchiha 4 года назад), что невозможно напрямую манипулировать размерами круговой диаграммы с помощью вызова типа:

piechart = new PieChart(pieChartData);
piechart.setPrefHeight(600); // no effect
piechart.setPrefWidth(600); // no effect

В ответе, опубликованном @ItachiUchiha, предлагается использоватьЭкземпляр Region и действительно следующее достигают этого:

Region region = new Region();
region.setMaxHeight(600);
region.setMaxWidth(600);
region.setPrefHeight(600);
region.setPrefWidth(600);
region.setMinHeight(600);
region.setMinWidth(600);

Однако я не могу получить круговую диаграмму в экземпляр Region. Интуитивно я попытался:

region.getChildren().add(piechart);
and
Region region = new Region(piechart);

, но это синтаксически неправильно.

Я знаю, что круговая диаграмма правильно отображает данные, потому что они отображаются нормально с кодом:

detailPane.getChildren().add(piechart);
piechart.setVisible(true); 

Но это просто делает круговую диаграмму с радиусом по умолчанию. Как мне «связать» круговую диаграмму с экземпляром Region и изменить его размер по мере необходимости?

1 Ответ

0 голосов
/ 07 октября 2019

Кажется, я решил проблему через .css, добавив следующее в таблицу стилей:

.chart {
    -fx-pref-width: 916;
    -fx-pref-height: 620; 
    -fx-min-width: 916;
    -fx-min-height: 620;
    -fx-max-width: 916;
    -fx-max-height: 620;
}

.chart-content {
    -fx-padding: 20px;
}

Размеры диаграммы точно соответствуют anchorpane размер правой руки разделенной панели. В результате получается круговая диаграмма очень хорошего размера и с правильными пропорциями, центрированная точно на панели.

...