2013-07-16 12 views

Odpowiedz

4

Z technicznego punktu widzenia powinieneś być w stanie uzyskać do niego dostęp za pomocą metody .lookup("scrollbar") po zainicjowaniu skóry (jeśli pasek przewijania jest widoczny). Nie podoba mi się ta odpowiedź.

Nie sądzę, tracisz wszystko według tego biletu JIRA: https://javafx-jira.kenai.com/browse/RT-16510

ja zachęcam do skoku na tym, przedstawić swoją przypadku użycia, głos, i sprawdzić, czy można dostać jakieś reakcji w przyszłości.

6

można ustawić ScrollEventListener na ScrollPane i tym samym zastąpić oryginalne zachowanie. W ten sposób na przykład zaimplementowałem ScrollPane, który przewija się poziomo zamiast pionowo. To właśnie odpowiednia część mojego kodu wygląda następująco:

public class Overview extends ScrollPane { 

... 



    private void setupHorizontalScrolling() { 
    this.setOnScroll(new EventHandler<ScrollEvent>() { 
     @Override 
     public void handle(ScrollEvent scrollEvent) { 
     double deltaY = scrollEvent.getDeltaY()*2; // *2 to make the scrolling a bit faster 
     double width = Overview.this.getContent().getBoundsInLocal().getWidth(); 
     double hvalue = Overview.this.getHvalue(); 
     Overview.this.setHvalue(hvalue + -deltaY/width); // deltaY/width to make the scrolling equally fast regardless of the actual width of the component 
     } 
    }); 
    } 

... 

} 

Aby spełnić swoje wymagania, można po prostu zmienić linię gdzie get/setHvalue nazywa się dostać/setVvalue a następnie można dostosować przewijanie jak ty chcieć.

Powiązane problemy