我无法获得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”。我也不知道为什么输出是随机的。
答案 0 :(得分:2)
在setExtendedState之后调用JFrame.pack(),它可以调整JFrame的大小(其他人注释不会遇到此问题,因此它可能是基于环境的)。我可以重现你在Mac上观察到的东西 - 如果删除了pack()或者在pack()之后调用了setExtendedState,那么这种行为似乎与我认为你想要的更加一致。
答案 1 :(得分:0)
尝试:
int w = getSize().getWidth();
int h = getSize().getHeight();
我不知道为什么你的代码不起作用