2012-04-14 23 views

回答

2

您是否試過在JPanel中添加ComponentListener?那將是我在componentShown(...)方法中從我的代碼開始的地方。爲此,我認爲您必須在將JPanel添加到顯示器後調用setVisible(true)

另一種選擇是在GUI上調用pack()setVisible(true)後簡單查詢其大小。

編輯
幽州:

我增加了面板的GUI設計器。當窗口彈出,我現在想的JPanel的真實尺寸,因爲它可以改變它。

如果你想知道一個窗口保持的部件的大小「時窗口彈出」,然後添加一個WindowListener的窗口,從windowOpened(...)方法檢查組件的大小。

編輯2
然後你狀態:

後,我才真正有規模,我添加一些子面板,相對於該面板的大小。所以例如大小/ 6 &子面板現在具有大小/ 6的大小高度。

一個解決方案:最好不要設置任何東西的大小,而是要使用佈局管理器的正確組合,然後讓他們根據規則設置適當的大小。

+0

嘗試過,但該方法沒有被調用... – 2012-04-14 12:47:33

+0

@ Christian'fuzi'Orgler:什麼是實際問題?您在GUI啓動並運行後是否添加了JPanel,還是在顯示GUI之前將它添加到了GUI中,而您只是想在渲染GUI後測試它的大小?另外,一旦擁有這些信息,你將如何處理? – 2012-04-14 12:48:57

+0

我將面板添加到gui設計器中。當窗口彈出時,我想現在jpanel的實際尺寸,因爲它可以改變它。 – 2012-04-14 12:52:46

0

使用函數setVisible(true)設置可見性;

+0

看起來像你不瞭解quesstion :-) – kleopatra 2012-04-15 10:11:08