2012-03-13 97 views
1

我在gridbaglayout的jscrollpanes中有幾個Jlist。 1 Jlist中的條目數量超過了Jlist的可見區域。 但jscrollpane不提供滾動功能。帶JList的JScrollPane不能在GridBagLayout中滾動

我曾經擁有jpanel中包含的所有jscrollpanes,當時scrollpane提供了正確的滾動功能。

我將Jlist的首選項設置爲[0,0]。 Jlist的佈局是正確的。 我可以將JList的首選大小設置爲明確的值,例如[80,300]。這會導致JList部分滾動。 JLIst的實際尺寸,如果它完全可見,則要長得多。

不知怎的,我猜gridbaglayout正在調整我的Jlist的方式,Jlist無法提供正確的大小,它有滾動窗格。

如何使jscrollpanes中的gridbaglayout和Jlist一起工作?

回答

1

不要設置JScrollPane的首選尺寸。改爲設置JScrollPanes的首選尺寸。

+0

將Jlist的首選大小設置爲「null」可解決問題。我還將Jscrollpane的首選大小設置爲「null」。 – WillamS 2012-03-13 13:28:36

+0

不要使用setXXSize(帶有非空維度)。正如你經歷過的,@WillamS,_removing_干擾組件的內部簿記(通過歸零)消除了這個問題:-) – kleopatra 2013-03-01 11:32:58

0

Thx。我有同樣的問題和首選大小(重置爲[0,0])解決了這一問題。

+0

你的意思是新的維度(0,0)?這聽起來很奇怪......因爲設置任何非空值都會使默認計算短路(這是一件壞事!) – kleopatra 2013-03-01 11:38:00