我正在尝试使用动态更改JScrollPane中的JList
myList.setListData(someArray);
Run Code Online (Sandbox Code Playgroud)
在此之后,我希望JScrollPane根据需要显示Scrollbars,但这不会发生.谷歌搜索问题不是很有帮助.我尝试了以下方法的各种组合,但收效甚微(主要是通过API文档):
myScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
myList.validate(); myScrollPane.validate();
myScrollPane.setPreferredSize(Dimension someDimension);
myScrollPane.setViewportView(moduleList);
myScrollPane.setLayout(...);
Run Code Online (Sandbox Code Playgroud)
使用第一种方法时会出现滚动条,但模型更改不会激活它.我还连接到PropertyChangeEvent并验证模型更改时JList触发和事件.我在这里错过了什么?我必须使用什么方法来完成这项工作,甚至更好的方法是什么属性可以使这项工作开箱即用?
小智 9
如果在JList上设置preferredSize,即使是(0,0),那么JScrollPane也不起作用 - 确保它未设置,必要时setPreferredSize(null)
请参阅mrtextminer如下
此问题的解决方案是不设置JList的preferredSize(删除设置语句).在Netbeans IDE 5.5.1中,通过右键单击JList的preferredSize属性,然后选择"恢复默认值",可以取消设置JList的preferredSize.
总之,只设置JScrollPane的preferredSize.不要设置JList的preferredSize.
归档时间: |
|
查看次数: |
13616 次 |
最近记录: |