Flowlayout v Javě - Naučte se běžně používané funkce rozvržení toku

Obsah:

Anonim

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 -

  1. JPanel v Javě
  2. Přepínání v Javě
  3. Factorial v Javě
  4. Třídění v Javě
  5. Kompletní průvodce tříděním v C # s příklady
  6. Rozvržení HTML
  7. Funkce třídění v Pythonu s příklady
  8. Kompletní průvodce faktorem v C #