Динамическое отображение изображений в ScrollPane

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

Проблема в том, что полоса прокрутки не отображается при добавлении нового изображения.

Вот код:

@FXML
public void handleButtonPause(){
    Rectangle r = new Rectangle();

    if(counterIm==0){
        //Ap1.setMinSize(Sp1.getWidth(), Sp1.getHeight() - 10);
        r.setY(Sp1.getHeight() *((double)1/36));
        r.setWidth(Sp1.getWidth()*0.75);
        rectWidth=r.getWidth();
        r.setHeight(Sp1.getHeight()/6);
        rectHeight=r.getHeight();
    }
    else {
        r.setY(Sp1.getHeight()*((7*counterIm+1)/36));
        r.setWidth(rectWidth);
        r.setHeight(rectHeight);
    }
    r.setX(Sp1.getWidth() / 10);
    r.setArcWidth(20);
    r.setArcHeight(20);

    Ap1.getChildren().add(r);

    Image image = new Image(new      File("C:\\Users\\Manuel\\Desktop\\error.png").toURI().toString());
    r.setFill(new ImagePattern(image));

    Sp1.setVvalue(1);

    counterIm=counterIm+1;

person Alberto Carmona    schedule 09.04.2016    source источник
comment
Взгляните на stackoverflow.com/questions/27182323/. Вы получите представление о том, как использовать ImageViews в ScrollPane.   -  person ItachiUchiha    schedule 09.04.2016


Ответы (1)


Я не знаю, как выглядит ваша композиция.

Хорошим подходом может быть размещение изображений в VBox и помещение VBox в ScrollPane.

И проверьте, установили ли вы политику VBar для вашего SrollPane:

srollbar.setVbarPolicy(ScrollBarPolicy.AS_NEEDED);

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

vbox.setMaxHeight(Double.MAX_VALUE);
person DVarga    schedule 09.04.2016