JScrollPane изменить источник вертикальной полосы прокрутки

У меня есть JFrame, который позволяет пользователю просматривать и просматривать записи из базы данных, которая выглядит следующим образом:

https://stackru.com/images/51d81de3de47aae6556b12ee1d109db47dbec78c.png

где метки никогда не перемещаются и информация прокручивается под ними. Моя проблема в том, что мой пользователь хочет, чтобы полоса прокрутки была похожа на крайнюю правую (которая находится внутри собственной JPanel и добавлена ​​в JFrame) вместо той, которая прикреплена к JScrollPane. Кто-нибудь знает, как заставить мою ScrollPane прокручивать с помощью отдельной полосы прокрутки?

1 ответ

Решение

Хорошо, я понял, как достичь того, чего я хотел. Вместо того, чтобы изобретать велосипед и заставить JScrollBar работать с JScrollPane. Вместо этого я извлек вертикальную полосу прокрутки из моей JScrollPane, испортил ее и воткнул в свою JPanel следующим образом:

  //Where dataPanel is a JPanel I want to be able to scroll
  JScrollPane roller = new JScrollPane (dataPanel, 
                           JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                           JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);

  JPanel scrollerPanel = new JPanel();
  JScrollBar scrollBar = roller.getVerticalScrollBar();
  scrollBar.setPreferredSize(new Dimension (20, 100));

  scrollPanel.add(scrollBar);
Другие вопросы по тегам