Размещение элементов на JFrame - Java

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

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

Подскажите пожалуйста, какой параметр необходимо поменять чтобы элементы на фрейме не зависели друг от друга? К примеру, если я хочу поставить label на label, или кнопку поместить на картинку. Ибо когда пытаюсь переместить, элементы сами двигаются, и при этом меняют размер формы. В интернете нашел что то про Layout но то ли это? И если да, то как его изменить?

Решение задачи: «Размещение элементов на JFrame»

textual
Листинг программы
  1. import javax.swing.*;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Dimension;
  5.  
  6. /*
  7.  * Класс главного окна
  8.  * */
  9. public class MainFrame extends JFrame {
  10.     //Конструктор главного окна
  11.     public MainFrame() {
  12.         setTitle("Главное окно");
  13.         //Устанавливаем размеры главного окна
  14.         setSize(400, 500);
  15.         //Создаем объект панели, на котором будет отображаться кнопка
  16.         JPanel panel = new JPanel();
  17.         //Добавляем BoxLayout
  18.         panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
  19.         //Создаем label1
  20.         JLabel label1 = new JLabel("Hello 1");
  21.         //Делаем видимым заливку фона
  22.         label1.setOpaque(true);
  23.         //Устанавливаем фон зеленым
  24.         label1.setBackground(Color.green);
  25.         //Устанавливаем максимальный размер label1
  26.         label1.setMaximumSize(new Dimension(300, 300));
  27.         //Добавляем BoxLayout
  28.         label1.setLayout(new BoxLayout(label1, BoxLayout.Y_AXIS));
  29.         //Создаем label2
  30.         JLabel label2 = new JLabel("Hello 2");
  31.         //Выравниваем label2 по центру оси X
  32.         label2.setAlignmentX(JComponent.CENTER_ALIGNMENT);
  33.         //Устанавливаем минимальный размер
  34.         label2.setMinimumSize(new Dimension(200, 200));
  35.         //Устанавливаем максимальный размер
  36.         label2.setMaximumSize(new Dimension(200, 50));
  37.         //Делаем видимым фон
  38.         label2.setOpaque(true);
  39.         //Устанавливаем фон красным
  40.         label2.setBackground(Color.red);
  41.         //Добавляем label2 в label1
  42.         label1.add(label2);
  43.         //Добавляем label1 в panel
  44.         panel.add(label1);
  45.         //Дабавляем панель на главное окно
  46.         add(panel);
  47.         //Делаем окно по центру
  48.         setLocationRelativeTo(null);
  49.         //Делаем минимальные размер окна
  50.         setMinimumSize(new Dimension(350, 350));
  51.         //Делаем видимым главное окно
  52.         setVisible(true);
  53.     }
  54.    
  55.     public static void main(String[] args)
  56.     {
  57.         //Запускаем главное окно
  58.         SwingUtilities.invokeLater(new Runnable() {
  59.             public void run() {
  60.                 new MainFrame();
  61.             }
  62.         });
  63.     }
  64. }

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


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

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

6   голосов , оценка 3.667 из 5

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

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

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