没有Scroller for JList

时间:2012-09-15 13:55:20

标签: java swing netbeans jscrollpane jlist

在我的swing应用程序中,我将Vector作为数据设置为JList。 JList可调整大小(垂直和水平)。可查看项目的数量为8.当数据设置为超过8个项目到JList时,Scroller不可见,并且要查看其余项目,JList应该下拉。有没有办法得到这个JScroller?

我使用Netbeans IDE 7.2我检查了JScrollerPane的属性。它具有水平和垂直滚动条的default值。

这是NetBeans创建的JScrollPane和JList代码 JScrollPane的
jScrollPane1 = new javax.swing.JScrollPane();

这是JList

jList1 = new javax.swing.JList();    
jList1.setBackground(new java.awt.Color(##, ##, ##));    
jList1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(##, ##, ##), 1, true));    
jList1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N    
jList1.setForeground(new java.awt.Color(##, ##, ##));      

jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);    
jList1.setCellRenderer(new CellRendererManager());    
jList1.setMaximumSize(new java.awt.Dimension(30, 80));    
jList1.setMinimumSize(new java.awt.Dimension(30, 80));    
jList1.setPreferredSize(new java.awt.Dimension(30, 80));    
jList1.setValueIsAdjusting(true);    
jScrollPane1.setViewportView(jList1);

`

1 个答案:

答案 0 :(得分:2)

你说:

  

JScrollPane奠定了在NetBeans IDE中显示的FreeDesign布局。 JScrollPane尚未设置任何大小。但是JList设置了一个维度(30,80)

有你的问题 - 你正在设置JList的Dimension,这会阻止它的视图扩展,即使它是由JScrollPane持有的。

解决方案:不要这样做。阅读并使用各种布局管理器,以便它们和您组件的固有首选尺寸可以为您完成所有尺寸和繁重的工作。