Introductie op CardLayout in Java

Het volgende artikel CardLayout in Java biedt een overzicht van de verschillende methoden van CardLayouts in Java. Zoals we weten van het concept van Layout in Java en hoe de verschillende Layout Manager helpt bij het beheren van zoveel componenten in een enkele container zonder de positionering van elkaar te beïnvloeden. De kaartlay-out is er een van. In tegenstelling tot andere lay-outs, die de componenten van een container tegelijk weergeven, werkt Kaartlay-out zoals de naam aangeeft, als een spel kaarten met slechts één kaart, dat wil zeggen de bovenste kaart die tegelijkertijd zichtbaar is. Het behandelt elk onderdeel in een container als een kaart en de container fungeert als een stapel kaarten. De volgorde van de kaarten in een container wordt intern gedefinieerd. Wanneer de container voor de eerste keer wordt weergegeven, is het de eerste component in de container die op dat moment zichtbaar is.

Constructeurs van CardLayout in Java

CardLayout is een klasse van Java en heeft enkele constructeurs. Hieronder worden enkele Constructors van CardLayout in Java gegeven:

CardLayout ()

Deze constructor van de Java-klasse CardLayout wordt gebruikt om een ​​nieuwe CardLayout te maken met de openingen van grootte nul (0) tussen de verschillende componenten.

CardLayout (int hgap, int vgap)

Deze constructor van Java wordt gebruikt om een ​​nieuwe CardLayout te maken met de horizontale en verticale afstand tussen de componenten zoals vermeld in de argumenten. Hgap geeft de horizontale opening aan, terwijl vgap de verticale opening tussen de componenten weergeeft.

Methoden van CardLayout-klasse in Java

Hieronder wordt de lijst met methoden van de CardLayout-klasse gegeven:

Methode naamMethode beschrijving
openbare nietig eerst (Container-ouder)Methode die wordt gebruikt om naar de eerste kaart van de meegeleverde container te bladeren
public void last (Container parent)Methode die wordt gebruikt om naar de laatste kaart van de verstrekte container te bladeren
public void next (Container ouder)Gebruikte methode om naar de volgende kaart van de meegeleverde container te gaan
openbare nietig vorige (bovenliggend container)Methode die wordt gebruikt om naar de vorige kaart van de meegeleverde container te gaan
openbare nietige show (bovenliggend container, tekenreeksnaam)Methode die wordt gebruikt om naar de opgegeven container met de opgegeven naam te spiegelen
getVgap ()Methode die wordt gebruikt om de verticale opening tussen de componenten te krijgen
getHgap ()Methode die wordt gebruikt om de horizontale opening tussen de componenten te krijgen
void addLayoutComponent (Component com, Objectbeperkingen)Methode die wordt gebruikt om de opgegeven component toe te voegen aan de interne tabel met componenten van de kaartlay-out
float getLayoutAlignmentX (bovenliggend container)Methode retourneert de uitlijning langs de x-as
float getLayoutAlignmentX (bovenliggend container)Methode retourneert de uitlijning langs de y-as
Dimensie maximumLayoutSize (containerdoel)Methode retourneert de maximale dimensies voor de lay-out gegeven het onderdeel in de doelcontainer
Dimensie mimimumLayoutSize (containerdoel)Methode retourneert de minimale dimensies voor de lay-out gezien de component in de doelcontainer
Dimensie preferredLayoutSize (bovenliggend container)Bij deze methode wordt met behulp van de kaartlay-out de gewenste grootte van het containerargument bepaald
void removeLayoutComponent (Component comp)Deze methode verwijdert het opgegeven onderdeel uit de kaartlay-out
String toString ()Deze methode retourneert de stringvoorstelling van deze kaartlay-out
void invalidateLayout (containerdoel)Deze methode maakt de container ongeldig en geeft aan of in het geval dat layoutmanager bepaalde informatie in het cachegeheugen heeft opgeslagen, deze moet worden weggegooid

Voorbeeld voor CardLayout in 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);
)
)

In het bovenstaande voorbeeld is Cardlayout de klassennaam die het JFrame overneemt en de ActionListener-interface implementeert. We proberen de verschillende JLabel-componenten in een JFrame te rangschikken. We maken 3 jButtons met de naam jb1, jb2, jb3 en voegen deze toe aan het JFrame. De knoppen worden aan het jFrame toegevoegd met de methode add (). In de hoofdfunctie worden verschillende methoden gebruikt, zoals setVisible () om de zichtbaarheid van het frame in te stellen, setResizable om de schaalbaarheid in te stellen, setTitle en setSize voor het instellen van de titel en de grootte van het frame. Uitleg

Output:

Dus zoals hieronder aangegeven, zou de uitvoer een jFrame zijn met de eerste knop met de naam "Hallo" eerst weergegeven, klikken op de tweede knop "Hey" wordt weergegeven en vervolgens klikken op de knop "Hii" wordt weergegeven aan de gebruiker.

Conclusie

Er zijn verschillende soorten lay-outs in Java en elke lay-out heeft zijn eigen manier om de componenten te rangschikken. Om efficiënt te werken aan GUI-toepassingen, is diep en praktisch begrip van elke lay-out erg belangrijk voor een programmeur. Grafische programmering maakt ook gebruik van lay-outmanagers in de ontwikkeling die populair is in de IT-industrie.

Aanbevolen artikelen

Dit is een gids voor CardLayout in Java. Hier bespreken we de introductie, constructeurs en methoden van Cardlayout in Java samen met enkele voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie–

  1. Sorteren samenvoegen in Java
  2. Snel sorteren op Java
  3. Terwijl Loop in Java
  4. Sterpatronen in Java
  5. HTML-indeling