1

每当我单击 button1 时,我都想获得我的 Jframe 的当前大小。这是我最初在 button1clickevent 中编写的代码,当我单击按钮时,我确实得到了宽度和高度,但是当我更改 Jframe 的大小然后再次单击 button1 时,我得到与我相同的宽度和高度得到了更早。价值观不会随时改变。

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

3 回答 3

2

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

还有,有什么问题Frame.getSize();

于 2012-07-29T19:19:02.247 回答
1

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

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

此外,MadProgrammer 提出了一个很好的观点,即您显示的代码创建了一个新的AppDisplay. 您可以根据需要创建任意数量的实例,即使不显示它们。您将始终需要仔细考虑对象的生命周期以及引用它们的变量名称的范围,以便您每次都可以引用预期的对象。

于 2012-07-29T19:30:32.970 回答
0

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

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

然后运行框架。将框架调整到所需的大小。然后单击按钮..我们将获得更新后的大小..然后我们可以从jframe的属性中将其设置为框架的实际大小...

于 2013-06-23T06:46:49.777 回答