Ошибка при попытке установить вертикальную черту PieChart в JavaFX - PullRequest
2 голосов
/ 13 марта 2020

Я создал свой собственный класс PieChart, чтобы создать свою собственную легенду, в моей программе pieChart, которая должна быть обновлена ​​во время выполнения, и так же, как и в Legend, я знаю, что мой код не очень хорошо разработан, и я плохо использовал для решение получить то, что я хочу, но оно работает, и это частный проект, поэтому он не должен быть идеальным. В любом случае, это мой код:

public class CustomPieChart extends PieChart {
    public ScrollPane scrollPane = new ScrollPane();
    public Legend theLegend;
     public CustomPieChart(ObservableList<PieChart.Data> data){
        super(data);
        setTitle("MyTitle");
        setLegendSide(Side.RIGHT);
        setLabelsVisible(false);
        ((Legend)getLegend()).setVertical(true);
        ((Legend)getLegend()).setPrefColumns(1);
     }

    private void createScrollableLegend(){
        setStartAngle(180); 
        setLabelLineLength(20);
        if(getLegend()!= null){
            theLegend=(Legend) getLegend();
            theLegend.setPrefWidth(130);


            scrollPane.setContent(theLegend);
            scrollPane.setHbarPolicy(ScrollBarPolicy.NEVER);
            scrollPane.setVbarPolicy(ScrollBarPolicy.AS_NEEDED);
            scrollPane.maxHeightProperty().bind(heightProperty());
            setLegend(scrollPane);  

        }
    }
    public void refreshChart(ObservableList<PieChart.Data> data){
        if(getData()!=null){
            getData().clear();
        }

        //This is the only way I found to "refresh" the values of the legend
        CustomPieChart tmp = new CustomPieChart(data);
        setLegend((Legend)tmp.getLegend());

        setData(data);
        createScrollableLegend();

    }
}

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

screenshot of UI

Как вы можете видеть, некоторые элементы отображаются за пределами панели ...

Будьте нежны, я довольно нуб ^^

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