JFrame:获取实际内容大小

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

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

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

您获得的大小是内容的大小和插入的大小。 如果使用Jcomponent.getInsets() ,则可以使用简单减法查找内容的大小。

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

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