Введение в CardLayout в Java

В следующей статье CardLayout в Java приведено описание различных методов CardLayout в Java. Как мы знаем о концепции Layout в Java и о том, как другой Layout Manager помогает управлять таким количеством компонентов в одном контейнере, не влияя на расположение друг друга. Макет карты является одним из них. В отличие от других макетов, которые отображают компоненты контейнера по одному, макет карты, как видно из названия, работает как колода игральных карт только с одной картой, то есть самая верхняя карта, видимая одновременно. Он рассматривает каждый компонент в контейнере как карту, а контейнер действует как стопку карт. Порядок карточек в контейнере определяется внутри. Когда контейнер отображается в первый раз, это первый компонент, присутствующий в контейнере, который видим в это время.

Конструкторы CardLayout в Java

CardLayout является классом Java и имеет несколько конструкторов. Ниже приведены некоторые из конструкторов CardLayout в Java:

CardLayout ()

Этот конструктор Java-класса CardLayout используется для создания нового CardLayout с зазорами нулевого размера (0) между различными компонентами.

CardLayout (int hgap, int vgap)

Этот конструктор Java используется для создания нового CardLayout с горизонтальным и вертикальным промежутком между компонентами, как указано в аргументах. Hgap обозначает горизонтальный зазор, тогда как vgap обозначает вертикальный зазор между компонентами.

Методы класса CardLayout в Java

Ниже приведен список методов класса CardLayout:

Название методаОписание метода
public void first (родительский контейнер)Метод, используемый для перехода к первой карточке предоставленного контейнера
public void last (родительский контейнер)Метод, используемый для перехода к последней карте предоставленного контейнера
public void next (родительский контейнер)Метод, используемый для перехода к следующей карточке предоставленного контейнера
public void previous (родительский контейнер)Метод, используемый для перехода на предыдущую карту предоставленного контейнера
public void show (родитель контейнера, имя строки)Метод, используемый для перехода к указанному контейнеру с заданным именем
getVgap ()Метод, используемый для получения вертикального зазора между компонентами
getHgap ()Метод, используемый для получения горизонтального зазора между компонентами
void addLayoutComponent (Компонент com, ограничения объекта)Метод, используемый для добавления указанного компонента во внутреннюю таблицу компонентов карты.
float getLayoutAlignmentX (родительский контейнер)Метод возвращает выравнивание по оси X
float getLayoutAlignmentX (родительский контейнер)Метод возвращает выравнивание по оси Y
Dimension MaximumLayoutSize (Цель контейнера)Метод возвращает максимальные размеры для макета, заданного компонентом в целевом контейнере.
Dimension mimimumLayoutSize (цель контейнера)Метод возвращает минимальные размеры для макета, заданного компонентом в целевом контейнере.
Dimension предпочитаемыйLayoutSize (родительский контейнер)В этом методе с использованием макета карты определяется предпочтительный размер аргумента контейнера.
void removeLayoutComponent (Компонент комп)Этот метод удаляет компонент, указанный в макете карты
Строка toString ()Этот метод возвращает строковое представление этого макета карты
void invalidateLayout (цель контейнера)Этот метод делает контейнер недействительным, указывая, что если менеджер компоновки кэшировал некоторую информацию, его следует отбросить

Пример для CardLayout в Java

// importing all the necessary packages
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
import javax.swing.*;
// Class Cardlayout is extending the JFrame and implementing the interface of ActionListener
public class Cardlayout extends JFrame implements ActionListener (
// Declaring the objects of the above mentioned Cardlayout class.
CardLayout cd;
// Declaring the objects of JButton class which we want in our JFrame
JButton jb1, jb2, jb3;
// Declaring the object of the Container class with the name 'con'.
Container con;
// Using the constructor of the class CardLayout in order to initialise the above objects
Cardlayout()
(
// using the method in order to get the content
con = getContentPane();
// Initializing the object "cd” of CardLayout class with horizontal and vertical spaces as 70 and 50 respectively
cd = new CardLayout(70, 50);
// setting of the layout using the setLayout method
con.setLayout(cd);
// Initialising the object "jb1" of the above JButton class.
jb1 = new JButton("Hello");
// Initialising the object "jb2" of the above JButton class.
jb2 = new JButton("Hey");
// Initialising the object "jb3" of the above JButton class.
jb3 = new JButton("Hii");
// Using this Keyword in order to refers to the current object.
// Adding of Jbutton "jb1" on JFrame using the methods of ActionListener
jb1.addActionListener(this);
// Adding of Jbutton "jb2" on JFrame.
jb2.addActionListener(this);
// Adding of Jbutton "jb3" on JFrame.
jb3.addActionListener(this);
// Adding of the above buttons to the container one by one
// Adding the JButton "jb1" using add method
con.add("a", jb1);
// Adding the JButton "jb2" similar to the above
con.add("b", jb2);
// Adding the JButton "jb3" in the container
con.add("c", jb3);
)
public void actionPerformed(ActionEvent e)
(
// using next method to call the next card
cd.next(con);
)
// Main Method of Java class from where the execution starts
public static void main(String() args)
(
// Creating Object of CardLayout class.
Cardlayout cl1 = new Cardlayout();
// Setting the title of JFrame
cl1. setTitle("Checking how Card Layout works");
// Setting the size of JFrame.
cl1.setSize(800, 800);
// Setting the resizable value of JFrame.
cl1.setResizable(false);
// Setting the visibility of JFrame.
cl1.setVisible(true);
// Function to set default operation of JFrame.
cl1.setDefaultCloseOperation(EXIT_ON_CLOSE);
)
)

В приведенном выше примере Cardlayout - это имя класса, которое наследует JFrame и реализует интерфейс ActionListener. Мы пытаемся упорядочить различные компоненты JLabel в JFrame. Мы создаем 3 кнопки jB1 с именами jb1, jb2, jb3 и добавляем их в JFrame. Кнопки добавляются в jFrame с помощью метода add (). В основной функции используются различные методы, такие как setVisible () для установки видимости фрейма, setResizable для установки изменяемого размера, setTitle и setSize для установки заголовка и размера фрейма. объяснение

Выход:

Таким образом, как показано ниже, выводом будет jFrame с первой кнопкой с именем «Hello», отображаемой первой, при нажатии на нее отображается вторая кнопка «Hey», а затем при нажатии на кнопку «Hii» отображается пользователю.

Вывод

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

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

Это руководство по CardLayout на Java. Здесь мы обсуждаем Введение, Конструкторы и Методы Cardlayout в Java вместе с некоторыми Примерами. Вы также можете посмотреть следующие статьи, чтобы узнать больше:

  1. Слияние сортировки в Java
  2. Быстрая сортировка на Java
  3. Пока цикл в Java
  4. Звездные узоры на Яве
  5. HTML-макет