Úvod do CardLayout v Javě
Následující článek CardLayout v Javě poskytuje přehled různých metod CardLayouts v javě. Jak jsme si vědomi konceptu Layout v Javě a jak různé Layout Manager pomáhá při správě tolika komponent v jednom kontejneru, aniž by to ovlivnilo vzájemné umístění. Rozložení karty je jedním z nich. Na rozdíl od jiných rozvržení, která zobrazují komponenty kontejneru jeden po druhém, rozložení karet, jak název napovídá, funguje jako balíček hracích karet s pouze jednou kartou, tj. Nejvyšší kartou viditelnou najednou. Zachází s každou složkou v kontejneru jako s kartou a jako s hromadou karet. Pořadí karet v kontejneru je definováno interně. Když je kontejner zobrazen poprvé, jedná se o první komponentu přítomnou v kontejneru.
Konstruktory CardLayout v Javě
CardLayout je třída Java a má několik konstruktérů. Níže jsou uvedeny některé z konstruktorů CardLayout v Javě:
CardLayout ()
Tento konstruktor třídy Java CardLayout se používá k vytvoření nového CardLayout s mezerami velikosti nula (0) mezi různými komponenty.
CardLayout (int hgap, int vgap)
Tento konstruktor Java se používá k vytvoření nového CardLayout s horizontální a vertikální mezerou mezi komponenty, jak je uvedeno v argumentech. Hgap označuje horizontální mezeru, zatímco vgap představuje vertikální mezeru mezi komponenty.
Metody třídy CardLayout v Javě
Níže je uveden seznam metod třídy CardLayout:
Název metody | Popis metody |
public void first (Container parent) | Metoda použitá k převrácení na první kartu dodávaného kontejneru |
public void last (Container parent) | Metoda použitá k převrácení na poslední kartu poskytnutého kontejneru |
veřejné neplatné další (rodič kontejneru) | Metoda použitá k převrácení na další kartu poskytnutého kontejneru |
public void previous (Container parent) | Metoda použitá k převrácení na předchozí kartu poskytnutého kontejneru |
veřejná neplatná show (rodič kontejneru, název řetězce) | Metoda použitá k převrácení do zadaného kontejneru s daným názvem |
getVgap () | Metoda použitá k získání vertikální mezery mezi komponenty |
getHgap () | Metoda použitá k získání horizontální mezery mezi komponenty |
void addLayoutComponent (Component com, Object Object)) | Metoda použitá k přidání zadané komponenty do vnitřní tabulky rozložení karet |
float getLayoutAlignmentX (rodič kontejneru) | Metoda vrací zarovnání podél osy x |
float getLayoutAlignmentX (rodič kontejneru) | Metoda vrací zarovnání podél osy y |
Maximální dimenzeLayoutSize (Cíl kontejneru) | Metoda vrací maximální rozměry rozvržení dané komponenty v cílovém kontejneru |
MimimumLayoutSize (cíl kontejneru) | Metoda vrací minimální rozměry pro rozvržení dané komponenty v cílovém kontejneru |
Preferovaná dimenzeLayoutSize (Nadřazený kontejner) | V této metodě se pomocí rozložení karty určí preferovaná velikost argumentu kontejneru |
void removeLayoutComponent (Component comp) | Tato metoda odstraní komponentu zadanou z rozložení karty |
String toString () | Tato metoda vrací řetězcové zobrazení tohoto rozložení karty |
void invalidateLayout (Target Container) | Tato metoda zneplatňuje kontejner s tím, že v případě, že správce rozložení uložil některé informace do mezipaměti, měla by být zahozena |
Příklad CardLayout v Javě
// 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);
)
)
Ve výše uvedeném příkladu je Cardlayout název třídy, který dědí JFrame a implementuje rozhraní ActionListener. Snažíme se uspořádat různé komponenty JLabel do JFrame. Vytváříme 3 jButtony s názvem jb1, jb2, jb3 a přidáváme je do JFrame. Tlačítka jsou přidána do jFrame pomocí metody add (). V hlavní funkci se používají různé metody, jako je setVisible (), aby se nastavila viditelnost snímku, setResizable, aby se nastavila velikost, setTitle a setSize pro nastavení názvu a velikosti snímku. Vysvětlení
Výstup:
Takže, jak je uvedeno níže, výstupem by byl jFrame s prvním tlačítkem s názvem „Hello“, které se zobrazí jako první, kliknutím na něj se zobrazí druhé tlačítko „Hey“ a následným kliknutím na něj se uživateli zobrazí „Hii“.
Závěr
V Javě jsou různé typy rozvržení a každé rozvržení má svůj vlastní způsob uspořádání komponent. Pro efektivní práci na aplikacích GUI je pro programátora velmi důležité hluboké a praktické porozumění každému rozvržení. Grafické programování také používá Layout Managers ve svém vývoji, který je trendem v IT průmyslu.
Doporučené články
Toto je průvodce CardLayout v Javě. Zde diskutujeme Úvod, konstruktéry a metody Cardlayout v Javě spolu s několika příklady. Další informace naleznete také v následujících článcích -
- Sloučit řazení v Javě
- Rychlé třídění v Javě
- Zatímco smyčka v Javě
- Hvězdné vzory v Javě
- Rozvržení HTML