Prehľad Flowlayout v Jave
Pred hlbokým potápaním sa do podrobností FlowLayout v jazyku Java umožňuje revidovať niektoré základné témy potrebné pre FlowLayout:
Java AWT : AWT je API na vytváranie GUI alebo aplikácií založených na okne.
Niektoré základné pojmy týkajúce sa hierarchie AWT sú tieto:
1. Kontajner : Kontajner je trieda, ktorá obsahuje všetky komponenty, ako sú tlačidlá, textové polia, záhlavie, ponuky, atď.
2. Komponenty : Komponenty sú objekty GUI, ako sú tlačidlá, štítok, textové pole, kontrolný zoznam.
Existujú niektoré základné funkcie funkcií, ako napríklad:
- public void add (komponent c): pridá komponent do tohto komponentu.
- public void setSize (int width, int height): nastavuje šírku a výšku komponentu.
- public void setLayout (LayoutManager m): definuje správcu rozloženia pre komponent.
- public void setVisible (logický stav): definuje viditeľnosť komponentu, v predvolenom nastavení je false.
3. Panel : Panel je trieda kontajnerov. Vytvára priestor pre aplikáciu, do ktorej sa dajú zmestiť všetky komponenty. Zdedí triedu kontajnerov.
Panel v ňom neobsahuje menovky alebo nadpis, ale môže obsahovať ďalšie komponenty, ako napríklad textové pole, tlačidlá.
4. Rám : Rám je trieda kontajnerov. Obsahuje lištu menu a lištu nadpisov a môže obsahovať aj ďalšie komponenty.
5. Správca rozloženia : Správca rozloženia je objekt, ktorý implementuje rozhranie LayoutManager na určenie veľkosti a polohy komponentov v kontajneri.
K dispozícii je veľa typov manažéra rozloženia, každý s vlastnými schopnosťami a špecifickými úlohami:
- FlowLayout.
- BorderLayout.
- CardLayout.
- BoxLayout.
- GridLayout.
- GridBagLayout.
- GroupLayout.
- SpringLayout.
Definícia FlowLayout
- FlowLayout je jedným z manažérov rozloženia poskytovaných AWT, ktorý sa používa v appletoch na usporiadanie komponentov spôsobom zľava doprava, rovnako ako slová v odseku.
- Keď nie. Z komponentov sa zvyšuje ako veľkosť okna a potom Java štandardne umožňuje FlowLayout zariadiť komponenty, aby sa zmestili do okna.
- FlowLayout je predvolené rozloženie poskytnuté správcom rozloženia. Ak nevyberiete žiadne rozloženie, rozloženie sa nastaví na plynulé.
- FlowLayout používa niektoré predvolené nastavenia, ako napríklad zarovnanie stredov s piatimi pixelovými medzerami medzi komponentmi horizontálne a vertikálne.
Zarovnanie je určené vlastnosťou „Zarovnať“. Pole zarovnania je nasledujúce:
- VĽAVO: Zarovná komponenty doľava.
- RIGHT: Zarovná komponenty doprava.
- CENTER: Zarovnáva komponenty so stredom.
- VEDENIE: Bude na prednej hrane kontajnera, tj vľavo pre orientáciu zľava doprava.
- TRAILING: Bude to na spodnej hrane kontajnera, tj doprava zľava doprava
Bežne používané funkcie FlowLayout
- setAlignment (int align): Nastaví príslušné zarovnanie na rozloženie kontajnera.
- getAlignment (): Získa zarovnanie rozloženia kontajnera.
- addLayoutComponent (): Pridá konkrétny komponent do rozloženia.
- setTitle (Text reťazca): Nastaví názov kontajnera s daným textom.
Konštruktori v FlowLayout
- FlowLayout (): Konštruuje inštanciu FlowLayout ako zarovnanú na stred a medzi komponentmi s medzerou 5 pixelov.
- FlowLayout (int zarovnať): Vytvorí FlowLayout s daným zarovnaním s medzerou 5 pixelov medzi komponentmi.
- FlowLayout (int zarovnať, int horizontalGap, int verticalGap): Konštruuje FlowLayout s daným zarovnaním as danou horizontálnou a vertikálnou medzerou medzi komponentmi.
- Tento konštruktor sa zarovná podľa zadaného zarovnávacieho poľa ako RIGHT, LEFT alebo CENTER a tiež poskytuje možnosť pridať vodorovnú medzeru a vertikálnu medzeru medzi komponentmi.
Príklad rozloženia toku:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Layout extends JFrame
(
private JButton lb;
private JButton rb;
private JButton cb;
private FlowLayout layout;
private Container container;
public Layout()
(
super("the title");
layout = new FlowLayout();
container = getContentPane();
setLayout(layout); //left alignment
lb = new JButton("left");
add(lb);
lb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.LEFT);
layout.layoutContainer(container);
)
)
);
//right alignment
rb = new JButton("right");
add(rb);
rb.addActionListener(
new ActionListener()
(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.RIGHT);
layout.layoutContainer(container);
)
)
);
//center alignment
cb = new JButton("center");
add(cb);
cb.addActionListener(
new ActionListener()(
public void actionPerformed(ActionEvent event)
(
layout.setAlignment(FlowLayout.CENTER);
layout.layoutContainer(container);
)
)
);
)
)
Hlavná metóda Flowlayout v Jave
import javax.swing.*;
public class Test
(
public static void main(String() args)
(
Layout l = new Layout();
l.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
l.setSize(300, 100);
l.setVisible(true);
)
)
Výkon:
Vysvetlenie vyššie uvedeného kódu
- Vo vyššie uvedenom kóde sme deklarovali 3 tlačidlá pomocou JButton ako lb, rb a cb.
- Pri vytváraní inštancie triedy musíme vidieť tlačidlá, aby sa tieto tlačidlá pridávali do kontajnera v samotnom konštruktore triedy.
- Rozširujeme triedu JFrame
- S funkciami setLayout () nastavujeme rozloženie ako flowlayout.
- Pre zarovnanie doľava, keď klikneme na tlačidlo s názvom „vľavo“, tlačidlá na paneli okna by mali byť zarovnané doľava.
- Aby to fungovalo, príslušné tlačidlo sa pridá na panel okna a pri kliknutí na toto tlačidlo sa rozloženie nastaví na Doľava.
- Vo vyššie uvedenom kóde setAlignment (FlowLayout.LEFT) nastaví zarovnanie rozloženia panela doľava. FlowLayout.LEFT je pole dostupné na zarovnanie. Podobne, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.TRAILING, FlowLayout.LEADING sú niektoré z ďalších polí používaných na nastavenie zarovnania.
- Upozorňujeme, že tieto polia zarovnania zarovnajú všetky komponenty doľava, doprava alebo do stredu.
- Nezávisí to od veľkosti okna. S úctou prispôsobí a zladí vaše komponenty so špecifikovaným zarovnaním.
- Ako sme to urobili pre zarovnanie vľavo podobným spôsobom, vyvinuli sme sa pre zarovnanie na stred a napravo. Nakoniec sme vyvinuli testovaciu triedu na písanie hlavnej metódy na testovanie nášho kódu FlowLayout Java.
- Vytvorením inštancie triedy Layout v hlavnej metóde nastavíme veľkosť okna a viditeľnosť komponentov na true.
Záver - Flowlayout v Jave
Tento tutoriál vám poskytuje základnú predstavu o tom, prečo má Java FlowLayout a aké sú jeho funkcie. FlowLayout je predvolené rozloženie kvôli svojej ľahkosti a presnosti zarovnania. Pamätajte, že každý koncept je ešte jasnejší, keď ho kódujete a praktizujete. Nechajte vo svojom kóde nechať chybu, neváhajte, aby ste kódovanie udržali a presne pochopili tento koncept.
Odporúčané články
Toto je sprievodca Flowlayout v Jave. Tu diskutujeme konštruktory a bežne používané funkcie FlowLayout. Viac informácií nájdete aj v nasledujúcom článku -
- JPanel v Jave
- Prepínanie v jazyku Java
- Factorial v Jave
- Triedenie v Jave
- Kompletný sprievodca triedením v C # s príkladmi
- Rozloženie HTML
- Funkcia triedenia v Pythone s príkladmi
- Kompletný sprievodca faktormi v C #