java - Swing GridBagLayout - 对齐问题

标签 java swing alignment layout-manager gridbaglayout

我有一个带有 JLabel、JTextField 的 JPanel 和另一个带有 JLabel 的 JPanel。

    createDomainPanel = new JPanel(new GridBagLayout());
    GridBagConstraints gbc = new GridBagConstraints();
    //createDomainPanel.setSize(600, 300);
    gbc.fill=GridBagConstraints.HORIZONTAL;


    gbc.gridx=0;
    gbc.gridy=0;
    createDomainPanel.add(new JLabel("Enter the name of the domain"), gbc);

    gbc.gridx=0;
    gbc.gridy=1;        
    createDomainPanel.add(domainName, gbc);

    JPanel result = new JPanel(new FlowLayout());
    result.add(successMessage);
    gbc.anchor=GridBagConstraints.LAST_LINE_START;
    gbc.gridx=0;
    gbc.gridy=2;
    createDomainPanel.add(result);

最后一个 JLabel 结果在某个操作后打印一条成功消息。

 public void actionPerformed(ActionEvent e) {
        SimpleDbConnect dbc = new SimpleDbConnect();
        String name = "";
        if (e.getSource()==domainName){
            name=e.getActionCommand();
            boolean success = dbc.addDomain(name);
            if (success){
                successMessage.setText("Domain "+ name + " added successfully");
            }
        }

    }   

但是问题是,当我收到成功响应时,成功消息而不是位于底部,而是出现在第一个 JLabel 的右侧。 我对 Swings 还很陌生。谁能帮帮我吗?

enter image description here

最佳答案

添加结果面板时忘记传递约束

createDomainPanel.add(result, gbc);

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

相关文章:

java - 在刽子手游戏中用缺失的字母填充每个位置

java - 使用 SourceDataLine 时帧速率不稳定

java - 如何为 JPanel 创建带有线条和填充的边框

html - 我怎样才能在代码中实现这个设计?

html - 如何在使用CSS幽灵元素技术进行垂直居中时左右对齐div?

java - 需要从文件中读取 String 和 Double

java - JDK源码中这些用来验证参数的注解是什么?

Java Swing,遍历文本区域

ASP.NET 控件不会正确对齐

java - 如何检查字符串是否为日期?