簡體   English   中英

使用GridBagLayout定位

[英]Positioning with GridBagLayout

我在GridBagLayout上遇到定位問題:我嘗試在標簽的頂部(頂部)居中放置,但是在代碼中(出於我沒有看到的原因),我這樣做: 在此處輸入圖片說明

我希望標簽“ Test”位於窗口頂部和中間。 有人可以向我解釋這種不良位置需求的原因嗎?

我的程序:

public class Accueil extends JFrame {

    private JPanel home = new JPanel();
    private GridBagConstraints grille = new GridBagConstraints();
    private JLabel title = new JLabel("Test");

    public Accueil() {
        home.setLayout(new GridLayout());
        init_grille();
        init_title();

        this.add(home);
        this.setSize(600,600);
        this.setTitle("Test One");
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);

    }

    private void init_grille() { 
        grille.fill = GridBagConstraints.BOTH;
        grille.weightx = 2;
        grille.weighty = 5;
        grille.ipady=grille.anchor=GridBagConstraints.CENTER;;

    }

    private void init_title() {
        grille.fill = GridBagConstraints.HORIZONTAL;
        grille.gridx = 0;
        grille.gridy = 0;
        home.add(title,grille);
    }

    public static void main(String [] args) {
        new Accueil();
    }
}

這將無濟於事:

home.setLayout(new GridLayout());

您可能想要:

home.setLayout(new GridBagLayout());

同樣,這些更改應該起作用:

private void init_title() {
      grille.fill = GridBagConstraints.NONE;
      grille.gridx = 0;
      grille.gridy = 0;
      grille.anchor = GridBagConstraints.NORTH;
      home.add(title,grille);
  }

暫無
暫無

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

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