为什么在JFrame中更改高度和宽度值以最小化并最大化并在java中调整大小

时间:2017-03-13 09:49:55

标签: java swing jframe

我正在研究java中的一个项目,我对jframe有一些问题。我只是在netbeans中创建一个jframe,这个框架有一个jlabel。我在formWindowOpened事件上调整此标签的大小如下。

private void formWindowOpened(java.awt.event.WindowEvent evt){                                  
   label.setSize(200, 200);
} 

但问题是,当我调整大小或最小化或最大化我的jframe时,标签会自动调整大小为其默认大小。现在告诉我哪里出错了。

这是表单加载图片,其大小为200X200

This is form load picture

这是调整帧的大小:

This is when the frame is  resized

2 个答案:

答案 0 :(得分:0)

Swing旨在与“布局管理器”一起使用。每个组件负责确定自己的“首选大小”。然后,布局管理器将使用此信息来确定添加到面板的每个组件的大小/位置。

调整框架大小时,将调用布局管理器,以便忽略setSize(...)语句,因为布局管理器将重置大小。

为什么要尝试为标签指定随机大小?标签的大小应由添加到标签的文本和/或图标确定。让布局管理器完成它的工作。

阅读Layout Managers上Swing教程中的部分,了解更多信息和工作示例。

答案 1 :(得分:0)

是的我理解场景是什么......但问题是我想在运行时调整面板大小...当我最小化或调整我的jframe然后再次出现这个问题.....我想要请告诉我解决方案,因为这对我来说非常重要.....