Обзор 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. Вы также можете посмотреть следующую статью, чтобы узнать больше -
- JPanel на Java
- Обмен в Java
- Факториал на Яве
- Сортировка в Java
- Полное руководство по сортировке в C # с примерами
- HTML-макет
- Функция сортировки в Python с примерами
- Полное руководство по факториалу в C #