gpt4 book ai didi

java - Swing GridBagLayout - 对齐问题

转载 作者:行者123 更新时间:2023-12-02 04:47:27 29 4
gpt4 key购买 nike

我有一个带有 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/

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