2012-09-15 59 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