2015-10-15 50 views
-1

的內部尺寸我有一個JFrame定義獲得的JFrame

JFrame frame; 
frame = new JFrame(); 

我想要得到它的內部的大小。

我試着做frame.getContentPane().getSize(),但它與frame.getSize()的值相同 - 帶邊框的值。

我也試圖做一些與frame.getInsets()但它總是返回[0, 0, 0, 0]

你對我怎樣才能得到一個JFrame內部尺寸的任何其他的想法?

+1

創建一個JPanel,並將其添加到JFrame。渲染JFrame後獲取JPanel的大小。 –

+1

*「獲取JFrame的內部大小」*請參閱[什麼是XY問題?](http://meta.stackexchange.com/q/66377)在這種情況下,更好的策略可能*是確保內容建議大小,然後「包裝()」框架。對於任何比'可能'更好的東西,描述你將要做的**以及'幀的內部大小'。 –

+0

我將使框架中的所有組件調整大小,因爲框架調整框架的大小和我需要'框架的內部大小'來計算這些組件應該有多大。 – apilat

回答

1

您需要先呈現JFrame,然後才能獲取它的大小。 這可以通過

JFrame frame; 
frame = new JFrame(); 
frame.setVisible(true); 

System.out.println(frame.getContentPane().getSize()); 

如果你嘗試之前得到的大小來完成它的渲染,將打印目前的規模,這是0

+0

你是對的。但這不是我要找的。我想了解如何獲得JFrame內部的大小(無邊框)。 – apilat