2012-09-15 58 views
1

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

我使用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

还有很多未知数 - 我们如何将这个JScrollPane添加到GUI中,使用什么样的布局?你不是通过setSize(...)直接设置JList的大小,或者是通过setPreferredSize(...)间接设置JList的大小?请告诉我们,并向我们展示更多。 –

+0

@HovercraftFullOfEels。感谢您的关注。 JScrollPane放置在NetBeans IDE中显示的“FreeDesign”布局。 JScrollPane没有设置任何大小,但JList设置了维度(30,80) –

回答

2

幽州:

JScrollPane的上FreeDesign布局,显示了在NetBeans IDE中规定。 JScrollPane中尚未设定任何size.But JList中已经设定的尺寸(30,80)

有你的问题 - 你设置JList中的尺寸,防止它从拓展来看,即使由JScrollPane保存。

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

+0

**您是GENIUS。超级完美!!!!。谢谢sooo。**解决了。问题在那里。我通过'null'作为维数(我发现没有办法在NB IDE中删除setPreferredSize()的设置)。它以任何方式工作,如我所料。再次非常感谢:D –

+1

_我发现没有办法在NB IDE_中删除setPreferredSize()的设置,如果某个工具阻止了你的路径,请不要使用它;-) – kleopatra

+1

@AashMaharoon在NB中“重置”一个属性,右键单击属性并选择“恢复默认值”。这将从本质上删除为该属性生成的任何代码,并使用默认组件默认使用的内容 – MadProgrammer