如何在Java中的JScrollPane上使垂直和/或水平滚动条不可见。

我已经尝试过了,但是没有用:

scrollPane.getVerticalScrollBar().setVisible(false);


另外,我想知道如何在不处于空状态(我不知道技术术语)的情况下再次显示该条,即参见下图。条是可见的,但处于“空”状态。



另外,有没有办法使滚动条保持不可见,但仍允许滚动?

最佳答案

您要的方法是JScrollPane.setVerticalScrollBarPolicy()

有效值为:


  
  ScrollPaneConstants.VERTICAL_SCROLLBAR_​​AS_NEEDED
  ScrollPaneConstants.VERTICAL_SCROLLBAR_​​NEVER
  ScrollPaneConstants.VERTICAL_SCROLLBAR_​​ALWAYS
  


我不确定您需要什么,但似乎您想使用ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED

如果这些策略还不够,则可以编写包装视图以实现Scrollable接口,并且可以在Scrollable.getScrollableTracksViewportHeight()方法内更改策略。

10-04 20:05