簡體   English   中英

Swing GridBagLayout-對齊問題

[英]Swing GridBagLayout - Alignment issue

我有一個帶有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很陌生。 誰能幫我嗎?

在此處輸入圖片說明

您在添加result面板時忘記傳遞約束

createDomainPanel.add(result, gbc);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM