2014-04-05 52 views
0

我在JScrollPane中有一個JPanel,當用戶移動鼠標滾輪時,JPanel必須能夠改變寬度。我爲鼠標滾輪編寫了事件監聽器,它可以工作,但JScrollPane似乎強制內部JPanel上的不同(常量)大小。 我在網上找到了一個ScrollablePanel類,但它似乎有同樣的問題。 我該如何解決它?Java:如何更改JScrollPane內部的JPanel的大小?

謝謝:)

+0

在內部JPanel上使用setPreferredSize似乎可行,但JScrollPane不會更新滾動條,直到我點擊它們 – dosse91214

回答

0

好吧,我似乎找到了由純粹是運氣的解決方案,所以我在這裏的情況下張貼它的使用給別人:

-set的JPanel的大小與setPreferredSize而不是setSize -use scrollPane.setViewportView(panel)每次更新滾動條

對我來說沒有意義,但它的工作原理,所以我很滿意。

+0

當使用layoutmanager時,您需要詢問首選大小而不是setsize,因爲您要求layoutmanager根據layoutmanager規定的規則選擇「正確的位置和大小」 –

+0

更多[here](http://stackoverflow.com/q/7229226/230513)。 – trashgod

+0

是的,它是有道理的;然而,什麼不是setViewportView,我必須調用每次它改變大小,看起來像一個錯誤,也許我應該報告它 – dosse91214

相關問題