未知数量元素的 Java 布局

标签 java swing layout layout-manager

我们有一个面板,它显示具有任意数量的 JTextFieldsJComboBoxesJTextAreas 的表单(每个都有一个相应的 JLabel)。

当前代码使用 GridBagLayout 但我想知道是否已经有用于此类任务的布局(目前使用 WrapLayout 但对齐这些字段似乎很棘手)。

是否有专门针对此的布局,或者我最好只是坚持使用我们已有的可爱的 GridBagLayout 代码?

最佳答案

我几乎总是推荐JGoodies FormLayout作为创建表单时的布局。 documentation包含一个具有动态数量组件的布局示例(代码片段 6,我将其复制粘贴到此处以供您引用)

FormLayout layout = new FormLayout(
“right:max(40dlu;p), 4dlu, 80dlu, 7dlu, ” // 1st major column
+ “right:max(40dlu;p), 4dlu, 80dlu”, // 2nd major column
“”); // add rows dynamically
DefaultFormBuilder builder = new DefaultFormBuilder(layout);
builder.setDefaultDialogBorder();
builder.appendSeparator(“Segment”);
builder.append(“Identifier”, idField);
builder.nextLine();
builder.append(“PTI [kW]”, ptiField);
builder.append(“Power [kW]”, powerField);
builder.append(“len [mm]”, lenField);
builder.nextLine();
builder.appendSeparator(“Diameters”);
builder.append(“da [mm]”, daField);
builder.append(“di [mm]”, diField);
builder.append(“da2 [mm]”, da2Field);
builder.append(“di2 [mm]”, di2Field);
builder.append(“R [mm]”, rField);
builder.append(“D [mm]”, dField);

他们有a demo available通过Java Web启动

关于未知数量元素的 Java 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026503/

相关文章:

java - 返回 null 或再次抛出异常

java - 如何在jaspersoft报告的表中添加java bean的集合

java - Java 开发人员的 Paypal 预付款

java - Spring 应用程序上的 NoClassDefFoundError

java 。无法在 JScrollPane 中添加 JPanel

eclipse - 重置 Eclipse 透视布局

java - JLabel 的高度随行数增长

java - 获取自定义 JPanel 以显示自定义 JComponents (Java Swing)

java - BorderLayout 不支持最大尺寸

html - 无法清除响应式布局中的 float ,冗长的内容框将其他人推倒