Как разместить панели на панеле Swing? - Java

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Пытаьс повторить размещение панелей, как на этом изображении: но у меня совсем не выходит. Я пробовал использовать разные менеджеры компоновки, и, как я понял, больше всего подходит GridBagLayout, но я никак не понимаю, как мне задать размеры отдельной строки/столбца относительно размера окна. Буду благодарен за помощь.

Решение задачи: «Как разместить панели на панеле Swing?»

textual
Листинг программы
// Elements of window
        this.main_p=new Panel(this.main_background, d.width, d.height);
        this.title_p=new Panel(this.block_background, d.width*4/15,
            d.height*17/180);
        this.tasks_p=new Panel(this.block_background, d.width*4/15,
            d.height*9/10);
        this.center_p=new Panel(this.block_background, d.width*4/15,
            d.height*34/45);
        this.brain_p=new Panel(this.block_background, d.width*4/15,
            d.height*137/360);
        this.body_p=new Panel(this.block_background, d.width*4/15,
            d.height*137/360);
        this.layout=new GridBagLayout();
this.main_p.setLayout(this.layout);
        
        GridBagConstraints gbc=new GridBagConstraints();
        gbc.gridx=0;
        gbc.gridy=0;
        gbc.weightx=1.0;
        gbc.gridwidth=1;
        gbc.gridheight=3;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.SOUTHEAST;
        gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
            d.width/20);
        this.main_p.add(this.tasks_p, gbc);
        gbc=new GridBagConstraints();
        gbc.gridx=1;
        gbc.gridy=0;
        gbc.weightx=1.0;
        gbc.weighty=1.0;
        gbc.gridwidth=1;
        gbc.gridheight=3;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.CENTER;
        gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
            d.width/20);
        this.main_p.add(this.title_p, gbc);
        gbc=new GridBagConstraints();
        gbc.gridx=1;
        gbc.gridy=1;
        gbc.gridwidth=1;
        gbc.gridheight=2;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.CENTER;
        gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
            d.width/20);
        this.main_p.add(this.center_p, gbc);
        gbc=new GridBagConstraints();
        gbc.gridx=2;
        gbc.gridy=1;
        gbc.gridwidth=1;
        gbc.gridheight=1;
        gbc.weightx=1.0;
        gbc.weighty=1.0;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.CENTER;
        gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
            d.width/20);
        this.main_p.add(this.brain_p, gbc);
        gbc=new GridBagConstraints();
        gbc.gridx=2;
        gbc.gridy=2;
        gbc.gridwidth=1;
        gbc.gridheight=1;
        gbc.weightx=1.0;
        gbc.weighty=1.0;
        gbc.fill=GridBagConstraints.BOTH;
        gbc.anchor=GridBagConstraints.CENTER;
        gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
            d.width/20);
        this.main_p.add(this.body_p, gbc);
        
        this.add(this.main_p);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5