java - 在 Swing 中动态调整面板大小

标签 java swing jpanel size layout-manager

我正在创建一个由盒式布局组成的界面,其中每个空间内都包含面板。

在这个特定的情况下,我有一个“级联”面板,第一个应该是一个带有 FlowLayout 作为布局管理器的面板,在它下面有一个 GridLayout 在它下面应该有另一个标签。

问题是,我需要第一个面板随着窗口本身调整大小而动态调整大小。

问题是:我需要第一个面板具有相对于绝对尺寸的特定尺寸..问题是我无法设置我的首选尺寸..在类中我执行以下操作,但面板保持不变与之前的大小完全相同..

this.setPreferredSize(new Dimension(windowWidth, 50))

我一回家就发代码,目前情况就是上面写的。

最佳答案

I need the first panel to have a specific size in relation to the absolute size

您的主面板应该是 BorderLayout(这是 JFrame 的默认布局),而不是 BoxLayout。

然后将需要特定尺寸的面板添加到框架的 BorderLayout.NORTH 中。

然后您的第二个面板可以使用 BoxLayout 并将此面板添加到框架的 BorderLayout.CENTER 中。现在,当调整框架大小时,该面板将获得所有额外空间。

关于java - 在 Swing 中动态调整面板大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29073986/

相关文章:

java - 嵌套的 JScrollPane 不适合

java - 无法使用 RecyclerAdapter 将对象转换为字符串值

java - 服务未注册 : org. OpenUDID.OpenUDID_manager@2b038438

java - 正在填充的 Graphics.drawRect

java - 需要在按下 Jbutton 时显示 ImageIcon

java - JPanel 中的多个动画(线程)

java - 如何确保JPanel上绘制的形状不重叠?

java - 使用iText在横向模式下将html转换为pdf

java - JEdi​​torPane 的自动缩放

java - 非法参数异常 : No interpolator found for float during implementing Substance LAF