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

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

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

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

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

textual
Листинг программы
  1. // Elements of window
  2.         this.main_p=new Panel(this.main_background, d.width, d.height);
  3.         this.title_p=new Panel(this.block_background, d.width*4/15,
  4.             d.height*17/180);
  5.         this.tasks_p=new Panel(this.block_background, d.width*4/15,
  6.             d.height*9/10);
  7.         this.center_p=new Panel(this.block_background, d.width*4/15,
  8.             d.height*34/45);
  9.         this.brain_p=new Panel(this.block_background, d.width*4/15,
  10.             d.height*137/360);
  11.         this.body_p=new Panel(this.block_background, d.width*4/15,
  12.             d.height*137/360);
  13.         this.layout=new GridBagLayout();
  14. this.main_p.setLayout(this.layout);
  15.        
  16.         GridBagConstraints gbc=new GridBagConstraints();
  17.         gbc.gridx=0;
  18.         gbc.gridy=0;
  19.         gbc.weightx=1.0;
  20.         gbc.gridwidth=1;
  21.         gbc.gridheight=3;
  22.         gbc.fill=GridBagConstraints.BOTH;
  23.         gbc.anchor=GridBagConstraints.SOUTHEAST;
  24.         gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
  25.             d.width/20);
  26.         this.main_p.add(this.tasks_p, gbc);
  27.         gbc=new GridBagConstraints();
  28.         gbc.gridx=1;
  29.         gbc.gridy=0;
  30.         gbc.weightx=1.0;
  31.         gbc.weighty=1.0;
  32.         gbc.gridwidth=1;
  33.         gbc.gridheight=3;
  34.         gbc.fill=GridBagConstraints.BOTH;
  35.         gbc.anchor=GridBagConstraints.CENTER;
  36.         gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
  37.             d.width/20);
  38.         this.main_p.add(this.title_p, gbc);
  39.         gbc=new GridBagConstraints();
  40.         gbc.gridx=1;
  41.         gbc.gridy=1;
  42.         gbc.gridwidth=1;
  43.         gbc.gridheight=2;
  44.         gbc.fill=GridBagConstraints.BOTH;
  45.         gbc.anchor=GridBagConstraints.CENTER;
  46.         gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
  47.             d.width/20);
  48.         this.main_p.add(this.center_p, gbc);
  49.         gbc=new GridBagConstraints();
  50.         gbc.gridx=2;
  51.         gbc.gridy=1;
  52.         gbc.gridwidth=1;
  53.         gbc.gridheight=1;
  54.         gbc.weightx=1.0;
  55.         gbc.weighty=1.0;
  56.         gbc.fill=GridBagConstraints.BOTH;
  57.         gbc.anchor=GridBagConstraints.CENTER;
  58.         gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
  59.             d.width/20);
  60.         this.main_p.add(this.brain_p, gbc);
  61.         gbc=new GridBagConstraints();
  62.         gbc.gridx=2;
  63.         gbc.gridy=2;
  64.         gbc.gridwidth=1;
  65.         gbc.gridheight=1;
  66.         gbc.weightx=1.0;
  67.         gbc.weighty=1.0;
  68.         gbc.fill=GridBagConstraints.BOTH;
  69.         gbc.anchor=GridBagConstraints.CENTER;
  70.         gbc.insets=new Insets(d.height/20, d.width/20, d.height/20,
  71.             d.width/20);
  72.         this.main_p.add(this.body_p, gbc);
  73.        
  74.         this.add(this.main_p);

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут