gpt4 book ai didi

java - 当元素移动到下一行时如何使用 FlowLayout 自动调整 JFrame 大小

转载 作者:行者123 更新时间:2023-11-30 03:49:09 26 4
gpt4 key购买 nike

当您通过鼠标手动调整 JFrame 大小时,如果没有足够的空间,JPanel 上的元素可以移至下一行,同时如果没有足够的空间,则可以删除新的元素行JFrame足够大

示例:

此时有两行适合所有 JButton enter image description here

如果我通过鼠标更改 JFrame 宽度,JButton 将落在下一行:

enter image description here

问题是您看不到所有 JButton,JFrame 需要调整高度。

如何使JFrame根据设置的宽度自动调整高度以适应所有元素?

最佳答案

这不是一个很好的设计。向我展示另一个像这样工作的专业应用程序吗?人们不喜欢看到帧的大小跳跃。用户通常会调整框架大小以适应桌面上的应用程序,如果他们修复宽度和高度变化,他们会感到沮丧。让用户控制大小。

如果您希望显示所有按钮,那么也许更好的解决方案是使用以下方法使框架不可调整大小:

frame.setResizable( false );
frame.pack();
frame.setVisible();

无论如何,如果您确实想这样做,那么您可能会向框架的内容 Pane 添加一个 ComponentListener。然后在 componentResized() 方法中,您将调用 pack()。

但是,这将导致每隔几个像素生成多个事件,因此您可能还想使用:

Toolkit.getDefaultToolkit().setDynamicLayout( false );

这样 pack() 只在鼠标释放时执行一次。

关于java - 当元素移动到下一行时如何使用 FlowLayout 自动调整 JFrame 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com