Přehled Flowlayout v Javě
Před hlubokým potápěním do FlowLayout v Java podrobnostech umožňuje revidovat některá základní témata potřebná pro FlowLayout:
Java AWT : AWT je API pro vytváření GUI nebo aplikací založených na okně.
Některé základní pojmy týkající se hierarchie AWT jsou následující:
1. Kontejner : Kontejner je třída, která obsahuje všechny komponenty, jako jsou tlačítko, textové pole, záhlaví, menu atd.
2. Komponenty : Komponenty jsou objekty GUI, jako jsou tlačítka, štítek, textové pole, kontrolní seznam.
Existují některé základní funkce funkcí, jako například:
- public void add (komponenta c): přidá komponentu do této komponenty.
- public void setSize (int width, int height): nastaví šířku a výšku komponenty.
- public void setLayout (LayoutManager m): definuje správce rozvržení komponenty.
- public void setVisible (boolean status): definuje viditelnost komponenty, ve výchozím nastavení je false.
3. Panel : Panel je třída kontejneru. Vytváří prostor pro aplikaci, do které lze vložit všechny komponenty. Zdědí třídu kontejnerů.
Panel v něm neobsahuje menu nebo titulní lištu, ale může obsahovat další komponenty, jako je textové pole, tlačítka.
4. Rám : Rám je třída kontejneru. Obsahuje lištu menu a titulní lištu a může obsahovat i další komponenty.
5. Správce rozvržení : Správce rozvržení je objekt, který implementuje rozhraní LayoutManager k určení velikosti a polohy komponent v kontejneru.
K dispozici je mnoho typů správce rozložení, každý s vlastními schopnostmi a specifickými úkoly:
- FlowLayout.
- BorderLayout.
- CardLayout.
- BoxLayout.
- Rozvržení mřížky.
- GridBagLayout.
- GroupLayout.
- SpringLayout.
Definice FlowLayout
- FlowLayout je jedním z manažerů rozvržení poskytovaných AWT, který se používá v appletech k uspořádání složek způsobem zleva doprava stejně jako slova v odstavci.
- Když ne. Z komponent se zvětší, než je velikost okna, a pak Java ve výchozím nastavení umožňuje FlowLayout uspořádat komponenty, aby se vešly do okna.
- FlowLayout je výchozí rozvržení poskytnuté správcem rozvržení. Pokud nevyberete žádné rozvržení, bude rozvržení nastaveno na průtok.
- FlowLayout používá některá výchozí nastavení, například zarovnání středu s mezerami pěti pixelů mezi součástmi vodorovně a svisle.
Zarovnání je určeno vlastností „zarovnání“. Pole zarovnání je následující:
- VLEVO: Zarovná komponenty doleva.
- RIGHT: Zarovná komponenty doprava.
- CENTER: Zarovná komponenty ke středu.
- VEDENÍ: Bude na přední hraně kontejneru, tj. Vlevo pro orientaci zleva doprava.
- TRAILING: Bude to na zadní hraně kontejneru, tj. Doprava doleva doprava
Běžně používané funkce FlowLayout
- setAlignment (int zarovnání): Nastaví příslušné zarovnání na rozvržení kontejneru.
- getAlignment (): Vrátí zarovnání rozvržení kontejneru.
- addLayoutComponent (): Přidá konkrétní součást do rozvržení.
- setTitle (text řetězce): Nastaví název kontejneru s daným textem.
Konstruktory v FlowLayout
- FlowLayout (): Konstruuje instanci FlowLayout jako zarovnanou na střed a s mezerami 5 komponent mezi komponenty.
- FlowLayout (int zarovnání): Vytvoří FlowLayout s daným zarovnáním s mezerou 5 pixelů mezi komponenty.
- FlowLayout (int zarovnat, int horizontalGap, int verticalGap): Konstruuje FlowLayout s daným zarovnáním as danou vodorovnou a svislou mezerou mezi komponenty.
- Tento konstruktor se zarovná podle zadaného pole zarovnání jako RIGHT, LEFT nebo CENTER a také poskytuje možnost pro přidání horizontální mezery a vertikální mezery mezi komponenty.
Příklad rozložení 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í metoda Flowlayout v Javě
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ýstup:
Vysvětlení výše uvedeného kódu
- Ve výše uvedeném kódu jsme deklarovali 3 tlačítka pomocí JButtonu jako lb, rb a cb.
- Při vytváření instance třídy musíme vidět tlačítka, aby se tlačítka přidávala do kontejneru v samotném konstruktoru třídy.
- Rozšiřujeme třídu JFrame
- S funkcemi setLayout () nastavujeme rozvržení jako flowlayout.
- Pro zarovnání doleva, když klikneme na tlačítko s názvem „vlevo“, tlačítka na panelu okna by měla být zarovnána doleva.
- Aby to fungovalo, je konkrétní tlačítko přidáno na panel okna a při kliknutí na toto tlačítko bude rozložení nastaveno na Levý.
- Ve výše uvedeném kódu setAlignment (FlowLayout.LEFT) nastaví zarovnání rozvržení panelu doleva. FlowLayout.LEFT je pole dostupné pro zarovnání. Podobně FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.TRAILING, FlowLayout.LEADING jsou některá z dalších polí používaných k nastavení zarovnání.
- Vezměte prosím na vědomí, že tato zarovnávací pole zarovná všechny komponenty buď doleva, doprava nebo do středu.
- Nezávisí to na velikosti okna. S úctou přizpůsobí a zarovná vaše komponenty se zadaným zarovnáním.
- Stejným způsobem jako v případě levého zarovnání jsme vyvinuli středové a pravé zarovnání. Nakonec jsme vyvinuli testovací třídu pro psaní hlavní metody testování našeho Java kódu FlowLayout.
- Vytvořením instance třídy Layout v hlavní metodě nastavíme velikost okna a viditelnost komponenty na true.
Závěr - Flowlayout v Javě
Tento tutoriál vám poskytne základní představu o tom, proč má Java FlowLayout a jaké jsou jeho funkce. FlowLayout je výchozí rozvržení kvůli jeho snadnosti a přesnosti zarovnání. Pamatujte, že každý koncept je ještě jasnější, když jej kódujete a praktikujete. Nechte do kódu vstoupit chyba, neváhejte, abyste kódování udrželi a přesně porozuměli konceptu.
Doporučené články
Toto je průvodce Flowlayout v Javě. Zde diskutujeme konstruktéry a běžně používané funkce FlowLayout. Další informace naleznete také v následujícím článku -
- JPanel v Javě
- Přepínání v Javě
- Factorial v Javě
- Třídění v Javě
- Kompletní průvodce tříděním v C # s příklady
- Rozvržení HTML
- Funkce třídění v Pythonu s příklady
- Kompletní průvodce faktorem v C #