JPanel 尺寸自动改变

JPanel dimension auto changes

我有以下 class:

public class Projector extends JPanel{
  public Projector(){
    this.setPreferredSize(new Dimension(1024, 704));
  }
}

如果我在构造函数中打印 Projector 的尺寸,我有正确的尺寸,但是当我在构造函数之外的某个地方打印尺寸时, 我得到结果 (1018, 675)

知道为什么会这样吗?我该如何解决?

这是因为 Java 不计算您的 OS 绘制的 Window 边框所用的像素,包括最小化、最大化和关闭按钮所在的像素。 (这就是为什么 Y 轴上的差异更大) 还有另一种方法可以因此而浪费像素。