JScrollPane更改垂直滚动条的来源

时间:2017-11-09 22:32:42

标签: java swing jscrollpane jscrollbar

我有一个JFrame,允许用户滚动浏览数据库中的记录,如下所示:

https://i.stack.imgur.com/d9E5a.png

标签永远不会移动,信息会在它们下面滚动。我的问题是我的用户希望滚动条看起来像最右边的那个(它在自己的JPanel中并添加到JFrame中)而不是附加到JScrollPane的滚动条。有没有人知道如何使用单独的滚动条滚动我的ScrollPane?

1 个答案:

答案 0 :(得分:0)

好吧,我想出了如何完成我想要的东西。而不是重新发明轮子,使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);