Java JScrollPane中的JList

Java JScrollPane中的JList,java,swing,jscrollpane,jlist,Java,Swing,Jscrollpane,Jlist,我在JScrollPane中有一个JList,当列表包含少于10个项目时,我希望滚动窗格表现为不存在(关于preferredSize)。一旦列表包含至少10个项目,我希望滚动窗格具有与列表中10个项目相同的首选大小。这怎么可能呢?使用。这将为滚动窗格将尝试遵守的列表设置首选高度 我认为,您需要根据JList大小调整JScrollPane的大小。如果是这样,那么JScrollPane的角色是什么?为什么不把它拿走呢?那很好,但不是我想要的。如果我的列表少于10个项目,那么列表仍然显示为10个项目,

我在
JScrollPane
中有一个
JList
,当列表包含少于10个项目时,我希望滚动窗格表现为不存在(关于
preferredSize
)。一旦列表包含至少10个项目,我希望滚动窗格具有与列表中10个项目相同的首选大小。这怎么可能呢?

使用。这将为滚动窗格将尝试遵守的列表设置首选高度

我认为,您需要根据
JList
大小调整
JScrollPane
的大小。如果是这样,那么
JScrollPane
的角色是什么?为什么不把它拿走呢?那很好,但不是我想要的。如果我的列表少于10个项目,那么列表仍然显示为10个项目,但我不希望JScrollpane中出现空行。“如果我的列表少于10个项目,那么列表仍然显示为10个项目”,所以不要提供10的
int
,但不管列表有多长。这就是我尝试的。但是我不知道在哪里调用
setVisibleRowCount
。我试图在
JList
AbstractListModel
getSize
中调用它。但这不起作用。有时图形用户界面落后一项。为了更快地获得更好的帮助,请发布一个(最小、完整、可验证的示例)。