2016-04-09 5 views
3

Ich möchte mehrere Bilder in einem ScrollPane hinzufügen, wenn Sie auf eine Schaltfläche klicken. Wenn ich nun auf den Knopf klicke, wird ein neues Rechteck erstellt und mit einem neuen Bild versehen.Anzeigen von Bildern dynamisch in einem ScrollPane

Das Problem ist, dass die Bildlaufleiste nicht angezeigt wird, wenn ein neues Bild hinzugefügt wird. Hier

ist der Code:

@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; 
+0

Werfen Sie einen Blick auf http://stackoverflow.com/questions/27182323/working-on-creating-image-gallery-in-javafx-not-able-to-display-image-properly. Sie erhalten die Idee, ImageViews in einem ScrollPane zu verwenden. – ItachiUchiha

Antwort

0

Ich weiß nicht, wie Ihre Zusammensetzung aussieht.

Ein guter Ansatz könnte sein, die Bilder in eine VBox und setzen Sie die VBox in die ScrollPane.

Und überprüfen Sie, ob Sie die VBar Politik gesetzt haben Ihre SrollPane:

srollbar.setVbarPolicy(ScrollBarPolicy.AS_NEEDED); 

Sie können auch die maximale Höhe des VBox auf Doppel Maximum eingestellt, um es sicher, dass es immer vertikal wachsen:

vbox.setMaxHeight(Double.MAX_VALUE); 
+0

Es hat funktioniert! Vielen Dank –