Flowlayout в Java - Изучите часто используемые функции макета потока

Содержание:

Anonim

Обзор Flowlayout в Java

Прежде чем углубляться в детали FlowLayout в Java, давайте рассмотрим некоторые основные темы, необходимые для FlowLayout:

Java AWT : AWT - это API для создания GUI или оконных приложений.

Вот некоторые из основных понятий, касающихся иерархии AWT:

1. Контейнер : Контейнер - это класс, который содержит все компоненты, такие как кнопка, текстовое поле, заголовок, строка меню и т. Д.

2. Компоненты : Компоненты - это объекты графического интерфейса, такие как кнопки, метка, текстовое поле, контрольный список.

Есть несколько основных компонентов функций, таких как:

  • public void add (Component c): добавляет компонент в этот компонент.
  • public void setSize (int width, int height): устанавливает ширину и высоту компонента.
  • public void setLayout (LayoutManager m): определяет менеджер компоновки для компонента.
  • public void setVisible (логическое состояние): определяет видимость компонента, по умолчанию это false.

3. Панель : Панель является контейнером класса. Он создает пространство для приложения, в которое можно вписать все компоненты. Он наследует класс контейнера.

Панель не содержит меню или заголовка, но может содержать другие компоненты, такие как текстовое поле, кнопки.

4. Frame : Frame - это контейнерный класс. Он содержит строку меню и строку заголовка, а также может содержать другие компоненты.

5. Диспетчер макетов. Диспетчер макетов - это объект, который реализует интерфейс LayoutManager для определения размера и положения компонентов в контейнере.

Существует много типов диспетчера макетов, каждый со своими возможностями и конкретными задачами:

  • FlowLayout.
  • BorderLayout.
  • CardLayout.
  • BoxLayout.
  • Макет сетки.
  • GridBagLayout.
  • GroupLayout.
  • SpringLayout.

Определение FlowLayout

  • FlowLayout - это один из менеджеров компоновки, предоставляемый AWT, который используется в апплетах для упорядочивания компонентов в порядке слева направо, как слова в абзаце.
  • Когда нет Из компонентов увеличивается размер окна, то по умолчанию Java позволяет FlowLayout упорядочить компоненты по размеру окна.
  • FlowLayout - это макет по умолчанию, предоставляемый менеджером макетов. Если вы не выберете макет, макет будет настроен на поток.
  • FlowLayout использует некоторые настройки по умолчанию, такие как выравнивание по центру с промежутками в пять пикселей между компонентами по горизонтали и вертикали.

Выравнивание определяется свойством «align». И поле выравнивания выглядит следующим образом:

  • LEFT: выравнивает компоненты по левому краю.
  • ВПРАВО: выравнивает компоненты вправо.
  • ЦЕНТР: выравнивает компоненты по центру.
  • ВЕДУЩИЙ: Это будет на переднем крае контейнера, то есть слева для ориентации слева направо.
  • ТРЕЙЛИНГ: он будет на задней кромке контейнера, то есть направо слева направо

Обычно используемые функции FlowLayout

  • setAlignment (int align): Устанавливает соответствующее выравнивание к макету контейнера.
  • getAlignment (): получает выравнивание макета контейнера.
  • addLayoutComponent (): добавляет конкретный компонент в макет.
  • setTitle (String text): устанавливает заголовок контейнера с заданным текстом.

Конструкторы в FlowLayout

  • FlowLayout (): Создает экземпляр FlowLayout как выровненный по центру с 5-пиксельным зазором между компонентами.
  • FlowLayout (int align): создает FlowLayout с заданным выравниванием с зазором 5 пикселей между компонентами.
  • FlowLayout (int align, int horizontalGap, int verticalGap): Создает FlowLayout с заданным выравниванием и с заданным горизонтальным и вертикальным зазором между компонентами.
  • Этот конструктор будет выравниваться по указанному полю выравнивания как RIGHT, LEFT или CENTER, а также предоставляет возможность добавления горизонтального и вертикального промежутка между компонентами.

Пример для схемы потока:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Layout extends JFrame
(
private JButton lb;
private JButton rb;
private JButton cb;
private FlowLayout layout;
private Container container;
public Layout()
(
super("the title");
layout = new FlowLayout();
container = getContentPane();
setLayout(layout); //left alignment
lb = new JButton("left");
add(lb);
lb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.LEFT);
layout.layoutContainer(container);
)
)
);
//right alignment
rb = new JButton("right");
add(rb);
rb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.RIGHT);
layout.layoutContainer(container);
)
)
);
//center alignment
cb = new JButton("center");
add(cb);
cb.addActionListener(
new ActionListener()(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.CENTER);
layout.layoutContainer(container);
)
)
);
)
)

Основной метод Flowlayout в Java

import javax.swing.*;
public class Test
(
public static void main(String() args)
(
Layout l = new Layout();
l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l.setSize(300, 100);
l.setVisible(true);
)
)

Выход:

Объяснение для приведенного выше кода
  • В приведенном выше коде мы объявили 3 кнопки с помощью JButton как lb, rb и cb.
  • При создании экземпляра класса нам нужно видеть кнопки, поэтому добавление кнопок к контейнеру в самом конструкторе класса.
  • Расширяем класс JFrame
  • С помощью функций setLayout () мы устанавливаем макет как flowlayout.
  • Для выравнивания по левому краю, когда мы нажимаем на кнопку с именем «left», кнопки на панели окна должны быть выровнены по левому краю.
  • Чтобы это работало, конкретная кнопка добавляется на панель окна, и при событии нажатия этой кнопки макет будет установлен влево.
  • В приведенном выше коде setAlignment (FlowLayout.LEFT) установит выравнивание макета панели влево. FlowLayout.LEFT - поле, доступное для выравнивания. Аналогично, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.TRAILING, FlowLayout.LEADING - это некоторые другие поля, используемые для установки выравнивания.
  • Обратите внимание, что эти поля выравнивания будут выравнивать все компоненты по левому, правому краю или по центру.
  • Это не зависит от размера вашего окна. Это будет корректировать и выравнивать ваши компоненты с указанным выравниванием с уважением.
  • Как и в случае с выравниванием по левому краю, мы разработали выравнивание по центру и по правому краю. Наконец, мы разработали Test Class для написания основного метода для тестирования нашего Java-кода FlowLayout.
  • Создавая экземпляр класса Layout в методе main, мы устанавливаем размер окна и видимость компонента равными true.

Вывод - Flowlayout в Java

Из этого туториала вы узнаете, почему в Java есть FlowLayout и каковы его функциональные возможности. FlowLayout является макетом по умолчанию из-за его простоты и точности выравнивания. Помните, что каждая концепция становится еще более ясной, когда вы кодируете и практикуете ее. Пусть в вашем коде появится ошибка, не стесняйтесь продолжать кодировать и точно понимать концепцию.

Рекомендуемые статьи

Это руководство по Flowlayout в Java. Здесь мы обсуждаем конструкторы и часто используемые функции FlowLayout. Вы также можете посмотреть следующую статью, чтобы узнать больше -

  1. JPanel на Java
  2. Обмен в Java
  3. Факториал на Яве
  4. Сортировка в Java
  5. Полное руководство по сортировке в C # с примерами
  6. HTML-макет
  7. Функция сортировки в Python с примерами
  8. Полное руководство по факториалу в C #