JScrollBar не показывает thumb

#java #swing #jscrollpane #jscrollbar

#java #swing #jscrollpane #jscrollbar

Вопрос:

Когда я устанавливаю visibleAmount JScrollBar равным максимальному значению, большой палец JScrollBar исчезает. Я не знаю, почему? и я хочу сделать полосу прокрутки такой: [<][ — ][>] ( размер большого пальца заполнен JScrollBar).

введите описание изображения здесь

Комментарии:

1. Для более быстрой помощи отправьте SSCCE .

Ответ №1:

Если JScrollBar является частью JScrollPane, вы можете выбрать политику видимости:

 JScrollPane pane = new JScrollPanel(aPanel);
pane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
 

Например, приведенный выше код делает горизонтальную полосу прокрутки всегда видимой.

Редактировать:

если вы создаете свою пользовательскую JScrollBar для прокрутки компонента, вам следует рассмотреть возможность использования JScrollPane и добавить его в свою область прокрутки:

 JScrollBar bar = new YourCustomScrollBar();
scrollPane.setHorizontalScrollBar(bar); 
pane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
 

Комментарии:

1. Jscrollbar не является частью JScrollPane. Я просто создаю новый JScrollBar ()

2. для чего вы используете JScrollBar? не могли бы вы опубликовать код?

3. Для моего требования я хочу создать новый JScrollBar(), я только что отредактировал сообщение

4. Привет, я не могу использовать JScrollPane, поэтому мне приходится обманывать код, когда видимая сумма = максимальное значение, я установлю Maximum = 10000, а visibleAmount = 9999, появляется большой палец, и кажется, что размер thumn заполнен JScrollBar