Java 如何在运行时获取JFrame的当前维度
每当我点击按钮1时,我都想得到Jframe的当前大小。这是我在button1clickevent中编写的代码,最初当我单击按钮时,我得到了宽度和高度,但当我更改Jframe的大小,然后再次单击button1时,我得到的宽度和高度与我之前得到的相同。值在任何时候都不会更改Java 如何在运行时获取JFrame的当前维度,java,swing,resize,jframe,Java,Swing,Resize,Jframe,每当我点击按钮1时,我都想得到Jframe的当前大小。这是我在button1clickevent中编写的代码,最初当我单击按钮时,我得到了宽度和高度,但当我更改Jframe的大小,然后再次单击button1时,我得到的宽度和高度与我之前得到的相同。值在任何时候都不会更改 AppDisplay ap=new AppDisplay(); //class which has got the JFrame int f12; f12=ap.getContentPane().getSize(
AppDisplay ap=new AppDisplay(); //class which has got the JFrame
int f12;
f12=ap.getContentPane().getSize().width;
System.out.println(f12+"\n");
f12=ap.getContentPane().getSize().height;
System.out.println(f12);
我认为您引用了错误的
对象
。什么是AppDisplay&为什么需要新实例
还有,
Frame.getSize()有什么问题代码>?您正在打印JFrame内内容窗格的大小。使用JFrame的getSize()
方法获取帧的大小
final Dimension size = ap.getSize();
System.out.println(size);
此外,MadProgrammer还指出,您显示的代码创建了AppDisplay
的新实例。您可以创建任意数量的实例,即使不显示它们。您将始终仔细考虑对象的生命周期和引用它们的变量名的范围,以便每次都可以引用预期的对象。 < P>一个想法,我发现。
将一个jButton(“jbutton1”)放在jFrame上。
并编写buton执行的非活动代码
System.out.println(this.getSize())
然后运行帧。
将框架调整至所需尺寸。
然后单击按钮。。
我们会得到最新的尺码。。
然后我们可以根据jframe的属性将其设置为帧的实际大小…在帧的窗口上的pack()
之后,此结果有效。