java - FormLayout - 对齐问题

标签 java user-interface form-layout

enter image description here

如屏幕截图所示,我的第二个 textLabel 和 textField 被下推 在我添加左侧的文本区域之后。

我想将第二个textLabel和textField保留在第一个textLabel和textField下方,同时维护左侧的TextLabal和textArea。我怎样才能实现它?

我使用了formLayout。

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

@SuppressWarnings("serial")
public class UI extends JFrame {

     private JPanel panel = new JPanel();

     public UI() {

        FormLayout layout = new FormLayout(
                "right:pref, 3dlu, pref, 30dlu, pref", // columns
                "p, 3dlu, p"); //rows

        panel.setLayout(layout);
        CellConstraints cc = new CellConstraints();

        panel = new JPanel (layout);
        panel.add (new JLabel ("textf1:"), cc.xy (1, 1));
        panel.add (new JTextField (15), cc.xy (3, 1));

        panel.add (new JLabel ("textf2:"), cc.xy (1, 3));
        panel.add (new JTextField (15), cc.xy (3, 3));

        panel.add (new JLabel ("TextL"), cc.xy (5, 1));
        panel.add (new JTextArea (10, 10), cc.xy (5, 3));

        add(panel);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        pack();
        setSize(1024,768);
        setLocationRelativeTo(null);
        //frame.setVisible(true);
        setResizable(false);

    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new UI().setVisible(true);

            }
        });

    }
}

最佳答案

添加CellConstraints元素的值:

panel.add(new JLabel("textf2:"), cc.xy(1, 3, CellConstraints.LEFT, CellConstraints.TOP));
    panel.add(new JTextField(15), cc.xy(3, 3, CellConstraints.LEFT, CellConstraints.TOP));

关于java - FormLayout - 对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036903/

相关文章:

java - IntelliJ Idea GUI 表单 : Null Layout

java - 初始化类 com.jacob.com.Dispatch 时出错

java - 绕过 FreeMarker 缓存?

java - Java 桌面 GUI 内的 HTML5 View 、JavaScript 通信

Java 堆栈到 GUI

java - 如果我们想允许使用 putIFAbsent 覆盖 concuurentHashMap 中的值怎么办?

java - 实现 selenium webdriver 时如何将表中的 WebElements 列表存储到列表中?

ios - 将 CGRectMake (x,x,x,x) 更改为不同的位置,例如 (y,y,y,y)

java - 当其子项宽于显示区域时,使用 FormLayout 调整复合 Material 的大小