2012-08-17 23 views
9

JFrame'de gerçek JPanel boyutunu nasıl edinmeliyim?Gerçek JPanel Boyutu nasıl edinilir?

+6

"Gerçekten [' getSize() '] 'yi çağırarak (http://docs.oracle.com/javase/7/docs/api/java/awt/Component.html#getSize%28%29)." Gerçekleşmeden önce yöntemin çağrılması mümkündür. Daha spesifik tavsiye için, bir [SSCCE] (http://sscce.org/) gönderin. –

+1

As @Andrew diyor. Ama işlenene kadar yapamazsın. – km1

cevap

16

JFrame içeriği bölmesinin boyutunu istiyorsanız bileşenleri ve düzeni önceden hesaplanmış değildir çünkü görüntülenene kadar boyut 0,0 olacaktır.

+0

Gerçek genişliğini ve yüksekliğini elde ettikten sonra jPanel'in alt bileşenlerinin başlatılması için herhangi bir geri arama var mı? –

8

thePanel.getSize();

Bu Boyut döner.

Bazen yeniden boyutlandırıldığında, boyutu yeniden boyutlandırmak için bir ComponentListener ekliyorum.

DÜZENLEME: Eğer sonra

theFrame.getContentPane().getSize(); 
+1

Gerçek boyutu vermez java.awt.Dimension [width = 0, height = 0] – Yoda

+0

@RobertKilar km yarısından önce soruyu cevapladım, ilgilendiğiniz panele ComponentLsterner ekleyin ve componentResized olayını izleyin – MadProgrammer

+1

@RobertKilar muhtemelen işlenmeden önce boyutu alıyorsunuz. Bileşen dinleyicinin yeniden boyutlandırma olay işleyicisini deneyin. – km1