簡短版本:我需要做一些棘手的事情來讓JDialog的setMaximumSize()工作嗎?設置一個JDialog的最大尺寸?
完整版本:我有一個JDialog(佈局管理器:BorderLayout的),其中包含與提交按鈕底部的滾動面板和一個JPanel。
滾動窗格包含一個在系統中其他地方動態構建的JPanel。
我想要的是讓對話框圍繞JPanel動態調整自己的大小,直到達到一定的大小,然後開始生長滾動條。這或多或少是默認情況下發生的,除了最大尺寸似乎是我的顯示器的尺寸。
我以爲這是什麼.setMaximumSize()方法繼承java.awt.Component中沒有,但設置它似乎並沒有產生任何影響。
設置首選大小確實有效果 - 但隨後的對話框始終是大小不管是什麼,這真的是不是我想要的。
(和影響是相同的,如果我設置滾動窗格中的最大/首選大小屬性。)
我錯過了什麼巨大明顯?是否有一些我不知道的古怪的JDialog/BorderLayout/MaximumSize交互?
是如何形成的 「一定規模」 確定的?我的答案在下面假設它由面板的內容控制。 setMaximunSize(dont-dont-dont!)的原因是沒有效果的是BorderLayout不尊重最大尺寸提示 – kleopatra 2011-04-23 10:03:45
「一定大小」基本上「足夠大以容納所有內容,除非它高於大約一半屏幕高度「。這回答了我的另一個問題:我從來沒有使用setMaximumSize()方法,並且有些驚訝,他們沒有工作。但是 - BorderLayout。很高興知道。 (現在我要回去忘記它們存在。) – 2011-04-26 17:01:08