-3

当我尝试将JList可见性设置false为隐藏内容时,我发现当我向下滚动时列表并没有完全隐藏。我试过validate()and repaint()of JList, JScrollPaneand JPanel( MainPanel),但没有改变,我也试过这个:

jScollPane.setVerticalScrollBarPolicy(
    javax.swing.ScrollPaneCantants.HORIZONTAL_SCROLLBAR_NEVER);

同样,没有结果。如果我向下滚动滚动条,列表的某些元素仍然可见。

4

1 回答 1

2

我看到至少有两种方法可以做到这一点:

  1. 从滚动窗格中删除JListscrollPane.setViewPortView(null);
  2. 将模型设置为JList空模型:list.setModel(new DefaultListModel());

另一种选择是更改的滚动模式JViewPort

scrollpane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);

但当然这根本没有效率。如果您使用该解决方案,当您再次使组件可见时,请确保也正确地将滚动模式重置为BLIT_SCROLL_MODEBACKINGSTORE_SCROLL_MODE有效的模式。

于 2012-12-19T10:32:54.200 回答