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