Как избавиться от лишнего пространства (заполнения) между круговой диаграммой и ее границей в JavaFX / TornadoFX? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть простая круговая диаграмма без названия, меток, легенды. Мне нужен только сам круг. Но я не могу избавиться от этого отступа между границами и содержимым. Я пробовал все это и не получил результата (TornadoFX CSS):

diagram {
  padding = box(0.px)
  labelPadding = box(0.px)

  borderImageInsets += box(0.px)
  borderInsets += box(0.px)
  backgroundInsets += box(0.px)

  maxWidth = 25.px
  maxHeight = 25.px
  labelLineLength = 0.px
  borderColor += box(Color.GREEN)
}

Я хочу избавиться от лишнего пробела между кругом и зелеными границами. Кто-нибудь знает здесь какие-нибудь решения / варианты Java / CSS / TornadoFX?

enter image description here

1 Ответ

1 голос
/ 29 мая 2020

Вы можете использовать отрицательное значение, например, для заполнения. Взгляните на этот небольшой пример (JavaFX):

package sample;

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage stage) {

        VBox vBox = new VBox();
        ObservableList<PieChart.Data> pieChartData =
                FXCollections.observableArrayList(
                        new PieChart.Data("", 75),
                        new PieChart.Data("", 25));
        final PieChart chart = new PieChart(pieChartData);
        chart.setLegendVisible(false);

        // Negative value for padding:
        chart.setStyle("-fx-padding: -35; -fx-border-color: green; -fx-border-width: 3;");

        vBox.getChildren().addAll(chart);
        stage.setScene(new Scene(vBox));
        stage.show();

        //chart.setMaxWidth(400d); // careful
    }


    public static void main(String[] args) {
        launch(args);
    }
}

enter image description here

Вы также можете быстро установить максимальную ширину диаграммы, чтобы зеленый квадрат квадрат, но будьте осторожны, это может испортить общий макет:

enter image description here

...