Wprowadzenie do CardLayout w Javie
Poniższy artykuł CardLayout w Javie zawiera zarys różnych metod CardLayout w Javie. Ponieważ wiemy o koncepcji Layout w Javie i o tym, jak inny Layout Manager pomaga w zarządzaniu tyloma komponentami w jednym kontenerze bez wpływu na wzajemne położenie. Układ karty jest jednym z nich. W przeciwieństwie do innych układów, które wyświetlają elementy pojemnika pojedynczo, układ karty, jak sama nazwa wskazuje, działa jak talia kart do gry z tylko jedną kartą, tj. Najwyższą kartą widoczną jednocześnie. Traktuje każdy element w pojemniku jak Kartę, a pojemnik działa jak Stos kart. Kolejność kart w pojemniku jest definiowana wewnętrznie. Gdy pojemnik jest wyświetlany po raz pierwszy, jest to pierwszy składnik obecny w pojemniku, który jest w tym czasie widoczny.
Konstruktory CardLayout w Javie
CardLayout jest klasą Java i ma kilka konstruktorów. Poniżej podano niektóre konstruktory CardLayout w Javie:
CardLayout ()
Ten konstruktor klasy Java CardLayout służy do tworzenia nowego CardLayout z przerwami o rozmiarze zero (0) między różnymi komponentami.
CardLayout (int hgap, int vgap)
Ten konstruktor Java jest używany do tworzenia nowego CardLayout z poziomą i pionową przerwą między komponentami, jak wspomniano w argumentach. Hgap oznacza odstęp poziomy, natomiast vgap oznacza odstęp pionowy między składnikami.
Metody klasy CardLayout w Javie
Poniżej podano listę metod klasy CardLayout:
Nazwa metody | Opis metody |
public void first (kontener nadrzędny) | Metoda zastosowana do przerzucenia na pierwszą dostarczoną kartę pojemnika |
public void last (kontener nadrzędny) | Metoda zastosowana do przerzucenia na ostatnią dostarczoną kartę pojemnika |
public void next (kontener nadrzędny) | Metoda zastosowana do przerzucenia na następną kartę podanego pojemnika |
public void previous (Kontener nadrzędny) | Metoda zastosowana do odwrócenia poprzedniej karty dostarczonego pojemnika |
public void show (kontener nadrzędny, nazwa ciągu) | Metoda zastosowana do przerzucenia do określonego kontenera o podanej nazwie |
getVgap () | Metoda zastosowana do uzyskania pionowej szczeliny między komponentami |
getHgap () | Metoda zastosowana do uzyskania poziomej szczeliny między elementami |
void addLayoutComponent (com Component, ograniczenia obiektu) | Metoda zastosowana do dodania określonego komponentu do wewnętrznej tabeli komponentów karty |
float getLayoutAlignmentX (element nadrzędny kontenera) | Metoda zwraca wyrównanie wzdłuż osi x |
float getLayoutAlignmentX (element nadrzędny kontenera) | Metoda zwraca wyrównanie wzdłuż osi y |
Wymiar maximumLayoutSize (cel kontenera) | Metoda zwraca maksymalne wymiary układu dla danego komponentu w kontenerze docelowym |
Wymiar mimimumLayoutSize (cel kontenera) | Metoda zwraca minimalne wymiary układu, biorąc pod uwagę komponent w docelowym kontenerze |
Preferowany wymiar Wymiar Rozmiar (element nadrzędny kontenera) | W tej metodzie przy użyciu układu karty określany jest preferowany rozmiar argumentu kontenera |
void removeLayoutComponent (Component comp) | Ta metoda usuwa określony element z układu karty |
String toString () | Ta metoda zwraca ciąg znaków reprezentujący ten układ karty |
void invalidateLayout (cel kontenera) | Ta metoda unieważnia kontener wskazując, czy w przypadku, gdy menedżer układu zapisał pewne informacje w pamięci podręcznej, należy go odrzucić |
Przykład CardLayout w Javie
// 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);
)
)
W powyższym przykładzie Cardlayout to nazwa klasy, która dziedziczy JFrame i implementuje interfejs ActionListener. Próbujemy rozmieścić różne komponenty JLabel w JFrame. Tworzymy 3 jButtons o nazwach jb1, jb2, jb3 i dodajemy je do JFrame. Przyciski są dodawane do jFrame za pomocą metody add (). W głównej funkcji wykorzystywane są różne metody, takie jak setVisible () w celu ustawienia widoczności ramki, setResizable w celu ustawienia zmiany rozmiaru, setTitle i setSize w celu ustawienia tytułu i rozmiaru ramki. Wyjaśnienie
Wynik:
Tak jak podano poniżej, wyjściem będzie jFrame z pierwszym przyciskiem z nazwą „Hello” wyświetloną jako pierwszą, kliknięcie na nim drugiego przycisku „Hej” zostanie wyświetlone, a następnie kliknięcie na nim przycisku „Hii” wyświetli się użytkownikowi.
Wniosek
Istnieją różne typy układów w Javie i każdy układ ma swój własny sposób rozmieszczania komponentów. Aby pracować wydajnie na aplikacjach GUI, głębokie i praktyczne zrozumienie każdego układu jest bardzo ważne dla programisty. Programowanie graficzne wykorzystuje również Layout Managers w swoim rozwoju, który zyskuje na popularności w branży IT.
Polecane artykuły
Jest to przewodnik po CardLayout w Javie. Tutaj omawiamy Wprowadzenie, Konstruktory i Metody Cardlayout w Javie wraz z kilkoma Przykładami. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- Scal sortowanie w Javie
- Szybkie sortowanie w Javie
- Podczas pętli w Javie
- Wzory gwiazd w Javie
- Układ HTML