2015-05-22 3 views
2

я отключил показ горизонтального ScrollBar с помощью следующего кода:Как отключить горизонтальную прокрутку в ScrollBar (JavaFX)?

scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); 

Это уже не видно, но с Полезная колесика мыши. Как я могу это предотвратить?

Существует ScrollPane с вертикальным ScrollBar. Но я могу щелкнуть колесико мыши вправо, а контент прокручивается горизонтально.

Спасибо.

+1

Можете ли вы опубликовать [MCVE] (http://stackoverflow.com/help/mcve)? – ItachiUchiha

+0

Вы хотите, чтобы высота прокрутки соответствовала ее высоте содержимого? – gontard

ответ

1

EDIT: Используйте this answer вместо этого Hacky один


Вы можете потреблять горизонтальный ScrollEvent в event filter:

scrollPane.addEventFilter(ScrollEvent.SCROLL,new EventHandler<ScrollEvent>() { 
     @Override 
     public void handle(ScrollEvent event) { 
      if (event.getDeltaX() != 0) { 
       event.consume(); 
      } 
     } 
    }); 
+0

Кажется, что работает. Хорошо, спасибо. – cy221

+1

это такой уродливый хак, я даже не могу! В нем так много нежелательных побочных эффектов. Пожалуйста, используйте решение ниже, используя setFitToWidth (true)! –

21

scrollPane.setFitToWidth(true);

+0

Это уже в коде. Благодарю. – cy221

+0

Спасибо. я решил свою проблему. Отлично. –

1

Я считаю, что это правильное путь:

sp.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER); 
Смежные вопросы