JFrame:获取实际内容大小
问题描述:
我创建了一个JFrame,并试图获得它的大小给出了一个不正确的结果,与我的预期相比。JFrame:获取实际内容大小
我确定它包括边缘周围的操作系统边框和标题栏。
如何获取/设置我可用于渲染的真实大小?
答
你的问题很混乱:JPanels没有标题栏或窗口边框,它们是抽象的容器,它们是INSIDE JFrames。 JFrames是带有标题栏和窗口边框的对象。
JPanel.getSize()
应该按预期工作。但是,对于JFrame,您需要使用JFrame.getContentPane().getSize()
,因为getContentPane()
返回JPanel
(这是实际的内容区域)。
你确定它是'JPanel'而不是'JFrame'吗?如果是后者,请使用'frame.getContentPane()。getSize()'。你也可以找到[这个问题](http://stackoverflow.com/questions/2796775/setting-the-size-of-a-contentpane-inside-of-a-jframe)有用... –
哦,对不起,是的,这是一个JFrame。我不能相信我把他们弄混了。道歉,我解决了这个问题。 –
*“这可能是因为我错误的措辞”*更可能你的整个方法是错误的。自定义渲染组件更常见的问“我有多大?”。对于其他任何事情,布局应该自动处理大小,没有应用程序。曾经询问尺寸或尺寸。 –