2012-02-28 64 views
2

我讀過如果jpanel上沒有設置最小大小,則調用getMinimumSize將委派給面板的佈局管理器。如果在面板上設置了最小大小,那麼當調用getMinimumSize時將返回此維度,而不是佈局管理器。我想在我的JPanel上只設置一個最小高度,並將最小寬度的檢索留給面板的佈局管理器,因爲我想讓最小寬度不管佈局管理器決定。是否可以只設置JPanel的最小高度?JPanel - 僅設置最小高度

+0

這是什麼決定或設置最低高度? – 2012-02-28 10:45:33

+1

不會影響LayoutManager決定的內容,而是使用一個可以做你想做的事情的LayoutManager :-) – kleopatra 2012-02-28 12:06:42

回答

5

重寫getMinimumSize()方法。在調用super的方法中,替換結果中的高度。

+1

如果這在代碼方面有效,它將無法用於佈局,因爲計算最小尺寸的佈局管理器具有不知道你是否將高度強加於不同的事物。如果你想強制最小尺寸的高度,你應該實現你的owne佈局管理器,以便將它考慮在內 – 2012-02-28 09:11:54

+3

佈局管理器確實計算它管理的容器的最小尺寸,而不是該容器內的組件。重寫getMinimumSize()應該可以工作(假設佈局管理器尊重它)。 – 2012-02-28 09:57:15

+0

它工作得很好,謝謝! – Joeblackdev 2012-02-28 19:57:33