2012-07-29 55 views
1

我想要获取Jframe的当前尺寸,只要点击button1即可。这是我在button1clickevent中写的代码,最初当我点击按钮时,我得到了宽度和高度,但是当我更改Jframe的大小,然后再次单击button1时,我得到的宽度和高度与我的相同得到更早。价值不会随时改变。如何在运行时获得JFrame的当前尺寸

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); 

回答

2

我认为你引用了错误的Object。什么是AppDisplay &为什么你需要一个新的实例?

另外,Frame.getSize();有什么问题?

1

您正在打印JFrame内的内容窗格的大小。使用JFrame的getSize()方法来获取框架的大小。

final Dimension size = ap.getSize(); 
System.out.println(size); 

此外,MadProgrammer让你展示的代码创建的AppDisplay一个新实例好点。即使不显示它们,您也可以创建尽可能多的实例。您将始终需要仔细考虑对象的生命周期以及引用它们的变量名称的范围,以便每次都可以引用预期的对象。

+0

这样的结果是包后'有效()'上该框架的“窗口”。 – trashgod 2012-07-29 23:30:14

0

我发现的一个想法。 放置一个jButton(“jbutton1”)作为jFrame。 并编写代码不执行的buton。

System.out.println(this.getSize());

然后运行该框架。 将帧调整为所需的大小。 然后点击按钮.. 我们将得到更新的大小.. 那么我们就可以将其设置为从JFrame的属性框的实际尺寸...