ScrollBar lässt sich nicht bewegen

Hallo zusammen,

ich brauche mal wieder Hilfe. Ich habe schon selbst geschaut, wie ich es lösen könnte aber auch nach 2x probieren finde ich den Fehler irgendwie nicht.

Es geht darum das ich die ScrollBar sehe, aber nicht nutzen kann, sie lässt sich also nicht bewegen.

Vielleicht sehe ich ja wieder irgendwas kleines nicht und Ihr habt eine Idee.

Danke schonmal.


Code:
package application;
    



import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.geometry.Orientation;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollBar;
import javafx.scene.control.Tooltip;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;



public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {
            
            Group root = new Group ();
            
            ScrollBar scrollBar = new ScrollBar();
            
            Image[] images = new Image[5];
            ImageView[] pics = new ImageView[5];
            
            VBox vb = new VBox();
            
            Scene scene = new Scene (root, 300, 300);
            
            scrollBar.setLayoutX(scene.getWidth()-scrollBar.getWidth());
            scrollBar.setMin(0);
            scrollBar.setMax(600);
            
            scrollBar.setOrientation(Orientation.VERTICAL);
            
            scrollBar.setPrefSize(10, 300);
            
            for ( int i = 0; i< 5; i++){
                
                Image image = images[i] = new Image(getClass().getResourceAsStream("Bild" + (i + 1) + ".jpg"));
                
                ImageView pic = pics[i] = new ImageView(images[i]);
                
                vb.getChildren().add(pic);
    
            }
            
            scrollBar.valueProperty().addListener(new ChangeListener<Number>(){

                @Override
                public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                vb.setLayoutY(-newValue.doubleValue());
                
                    
                }
                
            });
            
            
            root.getChildren().addAll(scrollBar, vb);
            
    
        
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
    
    public static void main(String[] args) {
        launch(args);
    }
}
 
aber auch nach 2x probieren finde ich den Fehler irgendwie nicht.
Wie?!? Ganze 2-mal schon? Du bist ja verrückt.

Es geht darum das ich die ScrollBar sehe, aber nicht nutzen kann, sie lässt sich also nicht bewegen.
Kann ich nicht bestätigen, funktioniert hier einwandfrei. Nur, wenn man ein großes Bild verwendet, verschwindet die Scrollbar. Allerdings: wäre es nicht einfacher, eine ScrollPane zu verwenden?
 
Wie?!? Ganze 2-mal schon? Du bist ja verrückt.


Kann ich nicht bestätigen, funktioniert hier einwandfrei. Nur, wenn man ein großes Bild verwendet, verschwindet die Scrollbar. Allerdings: wäre es nicht einfacher, eine ScrollPane zu verwenden?

Nein, nicht so 2x. Sondern komplett neu, nicht weil ich denke das ist was besonderes, sondern weil ich eben auch beim 2x keinen Fehler gefunden habe. Aber das nur am Rande, wollte eben damit nur sagen, dass ich es auch schon alleine probiert habe.

Und ja, in der Tat mit einem ScrollPane ist es eigentlich einfacher. Nur ich frage mich, wieso das nicht auch geht ?

Gibt es eine Möglichkeit herauszufinden, woran es liegt ?
Eventuell irgendwas nicht installiert ? Auf der anderen Seite, dann würde vermutlich auch der ScrollPane nicht funktionieren, oder ?

Aber trotzdem danke für die schnelle Antwort.
 
Gibt es eine Möglichkeit herauszufinden, woran es liegt ?
Natürlich. Die Frage ist immer, wie viel Aufwand man hineinsteckt.

Da es bei mir funktioniert, liegen zwei Vermutungen nahe:
1. es liegt an den Bildern - probier mal andere in unterschiedlichen Größen
2. Du verwendest alten Code, z. B. weil Deine IDE Deine Änderungen nicht berücksichtigt hat. Das kann daran liegen, dass Du nicht gespeichert hast, an irgendwelchen Bugs in der IDE etc. Einfach mal sicherstellen (z. B. eine Ausgabe einfügen), dass wirklich der aktuelle Code läuft

Wenn das immer noch nicht klappt, müsste man in Details gehen. Beispielsweise auf unterschiedlichen Systemen gleiche Voraussetzungen schaffen, dann testen. Schlussfolgern, weiter suchen. usw.
 
Natürlich. Die Frage ist immer, wie viel Aufwand man hineinsteckt.

Da es bei mir funktioniert, liegen zwei Vermutungen nahe:
1. es liegt an den Bildern - probier mal andere in unterschiedlichen Größen
2. Du verwendest alten Code, z. B. weil Deine IDE Deine Änderungen nicht berücksichtigt hat. Das kann daran liegen, dass Du nicht gespeichert hast, an irgendwelchen Bugs in der IDE etc. Einfach mal sicherstellen (z. B. eine Ausgabe einfügen), dass wirklich der aktuelle Code läuft

Wenn das immer noch nicht klappt, müsste man in Details gehen. Beispielsweise auf unterschiedlichen Systemen gleiche Voraussetzungen schaffen, dann testen. Schlussfolgern, weiter suchen. usw.

Danke für die Anleitung und ja, ich denke ich werde mir das mal anschauen.
Wie gesagt, es gibt ja auch noch andere Möglichkeiten, eben auch das Ergebnis zu erzielen.

Also danke nochmals.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben