当我尝试将JList
可见性设置为false
以隐藏内容时,我发现当我向下滚动时,列表不会被隐藏。我尝试了validate()
和repaint()
JList
,JScrollPane
和JPanel
(MainPanel
),但没有任何变化,我也试过这个:
jScollPane.setVerticalScrollBarPolicy(
javax.swing.ScrollPaneCantants.HORIZONTAL_SCROLLBAR_NEVER);
另外,没有结果。如果我向下滚动滚动条,列表中的某些元素仍然可见。
答案 0 :(得分:2)
我至少看到两种方法:
JList
:scrollPane.setViewPortView(null);
JList
的模型设置为空模型:list.setModel(new DefaultListModel());
另一种方法是更改JViewPort
:
scrollpane.getViewport().setScrollMode(JViewport.SIMPLE_SCROLL_MODE);
但当然这根本没有效率。如果您使用该解决方案,当您再次使组件可见时,请务必将滚动模式正确地重置为BLIT_SCROLL_MODE
或BACKINGSTORE_SCROLL_MODE
,这样效率会更高。