我无法获取 JFrame 的大小。 JFrame 已使用 setExtendedState(MAXIMIZED_BOTH) 最大化,并且它也是可见的。
import javax.swing.JFrame;
public class Fenster extends JFrame {
Fenster() {
this.setExtendedState(MAXIMIZED_BOTH);
this.setUndecorated(true);
this.setAlwaysOnTop(true);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.pack();
this.setVisible(true);
System.out.println(this.getWidth() + " x " + this.getHeight());
}
}
我在控制台中只得到“0 x 0”或“1 x 1”。而且我也不知道为什么输出是随机的。
最佳答案
JFrame.pack() 在 setExtendedState 之后调用,这可能会调整 JFrame 的大小(其他人评论说不会遇到此问题,因此它可能是基于环境的)。我可以重现您在 Mac 上观察到的情况 - 如果删除 pack() 或在 pack() 之后调用 setExtendedState,则行为似乎更符合我认为您想要的效果。
关于java - 无法获取 ExtendedState JFrame 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29594667/