JFrame:获取实际内容大小

时间:2011-08-22 23:04:58

标签: java swing size jframe jpanel

我已经创建了一个JFrame,并且试图获得它的大小会产生不正确的结果,与我的预期相比。

我已经确定它包括边缘周围的操作系统边框和标题栏。

如何获取/设置我可用于渲染的实际大小?

2 个答案:

答案 0 :(得分:5)

您获得的尺寸是内容的尺寸 insets的尺寸。如果您使用Jcomponent.getInsets(),则可以通过简单的减法找到内容的大小。

答案 1 :(得分:2)

你的问题很混乱:JPanels没有标题栏或窗口边框,它们是INSIDE JFrames的抽象容器。 JFrame是具有标题栏和窗口边框的对象。

JPanel.getSize()应按预期工作。但是,对于JFrame,您需要使用JFrame.getContentPane().getSize(),因为getContentPane()会返回JPanel(实际内容区域)。