Introdução ao CardLayout em Java

O artigo a seguir CardLayout em Java fornece um resumo dos diferentes métodos de CardLayouts em java. Como estamos cientes do conceito de Layout em Java e de como os diferentes Gerenciador de Layout ajudam no gerenciamento de tantos componentes em um único contêiner, sem afetar o posicionamento um do outro. O layout do cartão é um deles. Ao contrário de outros layouts, que exibem os componentes de um contêiner, um de cada vez, o Layout do cartão, como o nome indica, funciona como um baralho de cartas com apenas um cartão, ou seja, o cartão superior visível ao mesmo tempo. Ele trata todos os componentes de um contêiner como um cartão e o contêiner que atua como uma pilha de cartões. A ordem dos cartões em um contêiner é definida internamente. Quando o contêiner é exibido pela primeira vez, é o primeiro componente presente no contêiner que é visível naquele momento.

Construtores de CardLayout em Java

CardLayout é uma classe de Java e possui alguns construtores. Abaixo estão alguns dos construtores do CardLayout em Java:

CardLayout ()

Este construtor da classe Java CardLayout é usado para criar um novo CardLayout com intervalos de tamanho zero (0) entre os diferentes componentes.

CardLayout (int hgap, int vgap)

Esse construtor de Java é usado para criar um novo CardLayout com o intervalo horizontal e vertical entre os componentes, conforme mencionado nos argumentos. Hgap denota o espaço horizontal, enquanto vgap representa o espaço vertical entre os componentes.

Métodos da classe CardLayout em Java

Abaixo é fornecida a lista dos métodos da classe CardLayout:

Nome do métodoDescrição do método
public void first (pai do contêiner)Método usado para virar para o primeiro cartão do recipiente fornecido
public void last (Container pai)Método usado para virar para o último cartão do contêiner fornecido
public void next (pai do contêiner)Método usado para virar para o próximo cartão do contêiner fornecido
public void previous (pai do contêiner)Método usado para mudar para o cartão anterior do contêiner fornecido
show nulo público (pai do contêiner, nome da sequência)Método usado para alternar para o contêiner especificado com o nome fornecido
getVgap ()Método usado para obter o espaço vertical entre os componentes
getHgap ()Método usado para obter o espaço horizontal entre os componentes
void addLayoutComponent (Componente com, Restrições de objeto)Método usado para adicionar o componente especificado à tabela interna de componentes do layout do cartão
float getLayoutAlignmentX (pai do contêiner)O método retorna o alinhamento ao longo do eixo x
float getLayoutAlignmentX (pai do contêiner)O método retorna o alinhamento ao longo do eixo y
Dimensão maximumLayoutSize (destino do contêiner)O método retorna as dimensões máximas para o layout, conforme o componente no contêiner de destino
Dimensão mimimumLayoutSize (destino do contêiner)O método retorna as dimensões mínimas para o layout, dado o componente no contêiner de destino
Dimensão preferidoLayoutSize (pai Container)Nesse método, usando o layout do cartão, o tamanho preferido do argumento do contêiner é determinado
void removeLayoutComponent (Component comp)Este método remove o componente especificado do layout do cartão
String toString ()Este método retorna a representação em seqüência deste layout de cartão
void invalidateLayout (destino do contêiner)Esse método invalida o contêiner indicando se, caso o gerenciador de layout tenha armazenado em cache algumas informações, elas devem ser descartadas

Exemplo para CardLayout em 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);
)
)

No exemplo acima, Cardlayout é o nome da classe que está herdando o JFrame e implementando a interface ActionListener. Estamos tentando organizar os vários componentes do JLabel em um JFrame. Estamos criando 3 jButtons com o nome jb1, jb2, jb3 e os adicionando ao JFrame. Os botões são adicionados ao jFrame usando o método add (). Na função principal, vários métodos são usados ​​como setVisible () para definir a visibilidade do quadro, setResizable para definir o redimensionamento, setTitle e setSize para definir o título e o tamanho do quadro. Explicação

Resultado:

Assim, como indicado abaixo, a saída seria um jFrame com o primeiro botão com o nome "Olá" exibido primeiro, clicando nele o segundo botão "Hey" é exibido e, em seguida, clicando nele o botão "Hii" é exibido ao usuário.

Conclusão

Existem vários tipos de layouts em Java e cada layout tem sua própria maneira de organizar os componentes. Para trabalhar de maneira eficiente em aplicativos da GUI, é importante para o programador entender profundamente e de maneira prática todos os layouts. A programação gráfica também usa os gerenciadores de layout em seu desenvolvimento, que é uma tendência no setor de TI.

Artigos recomendados

Este é um guia para o CardLayout em Java. Aqui discutimos a Introdução, Construtores e Métodos de Cardlayout em Java, juntamente com alguns exemplos. Você também pode consultar os seguintes artigos para saber mais:

  1. Mesclar classificação em Java
  2. Classificação Rápida em Java
  3. While Loop em Java
  4. Padrões de estrelas em Java
  5. Layout HTML