java - Java FlowLayout 中的第 2 组组件

标签 java swing layout layout-manager

我正在 JPanel 中使用 FlowLayout Manager。我有很多 Label 和 TextField/JComboBox 组合。喜欢

enter image description here

当 JPanel 调整大小时

enter image description here

我在 JPanel 上设置了 FlowLayout,每当调整面板大小时,我希望它将我的 Label+Textfield 一起带到下一行,而不是一个接一个地取出组件。

是否可以组成组或类似的东西,以便我的每个标签+文本字段被视为单个组件,并且当调整面板大小时,这两个组件会一起下来。

我知道的一种方法是将我的每个标签+文本字段放入每个单独的 JPanel 中,然后将这些 JPanel 放入我的主 FlowLayout JPanel 中,但随后我将不得不做很多工作,因此想知道 java 中是否有一些选项为此?

最佳答案

Flowlayout 是在您的情况下使用的错误布局。

可能最好的布局是GridBagLayout。您可以为文本字段定义一致的宽度,并为标签定义一致的锚定(即锚定到右侧)。

以下是如何设置“模型”标签的示例:

GridBagConstraints gbc = new GridBayConstraints();
gbc.gridx = 2;
gbc.gridy = 1;
gbc.anchor = GridBagLayout.EAST
panel.add(modelLabel, gbc);

关于java - Java FlowLayout 中的第 2 组组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26337801/

相关文章:

java - Struts 2 如果-否则-如果

java - 每当我在 JTextField 中写入时,Swing java JComboBox 就会消失

javascript - 如何让 View with Layout 从 Scripts 文件夹中读取 .js 文件?

java - JTextField 的闪烁颜色

android - 如何在我的 Android 应用程序中使 View 填充其父级的整个宽度?

html - 两个 div 之间的垂直线间隔

java - 使用 java 执行和终止 OSX 的任何应用程序

java - 在 Tomcat/Jetty 中执行多线程的正确方法

java - 从 java : OutOfMemory 中的 xml 解码大型 base64

Java Swing JScrollPane 包含更多不滚动的 Pane ?