Výukový program Java Swing: Jak vytvořit GUI v Javě s příklady

Obsah:

Anonim

Co je Swing v Javě?

Swing in Java je sada nástrojů grafického uživatelského rozhraní (GUI), která obsahuje komponenty grafického uživatelského rozhraní. Swing poskytuje bohatou sadu widgetů a balíčků pro vytváření sofistikovaných komponent GUI pro aplikace Java. Swing je součástí Java Foundation Classes (JFC), což je API pro programy Java poskytující grafické uživatelské rozhraní.

Knihovna Java Swing je postavena na vrcholu sady Java Abstract Widget Toolkit ( AWT ), starší sady nástrojů GUI závislé na platformě. Můžete použít programovací komponenty Java GUI, jako je tlačítko, textové pole atd. Z knihovny, a nemusíte vytvářet komponenty od nuly.

V tomto výukovém programu Java Swing se naučíte-

  • Co je Swing v Javě?
  • Co je třída kontejneru?
  • Co je GUI v Javě?
  • Příklad grafického uživatelského rozhraní Java
  • Správce rozložení Java
  • Java BorderLayout
  • Java FlowLayout
  • Java GridBagLayout

Hierarchický diagram třídy Java Swing

Diagram hierarchie tříd Java Swing

Všechny komponenty v Java Swing jsou JComponent, které lze přidat do tříd kontejnerů.

Co je třída kontejneru?

Kontejnerové třídy jsou třídy, které mohou obsahovat další komponenty. Takže pro vytvoření Java GUI potřebujeme alespoň jeden objekt kontejneru. Existují 3 typy kontejnerů Java Swing.

  1. Panel : Je to čistý kontejner a sám o sobě není oknem. Jediným účelem panelu je uspořádat komponenty do okna.
  2. Rám : Jedná se o plně funkční okno s názvem a ikonami.
  3. Dialog : Lze si ho představit jako vyskakovací okno, které se objeví, když je třeba zobrazit zprávu. Není to plně funkční okno jako Frame.

Co je GUI v Javě?

GUI (Graphical User Interface) v Javě je snadno použitelný nástroj pro vytváření vizuálních zkušeností s aplikacemi Java. Vyrábí se hlavně z grafických komponent, jako jsou tlačítka, štítky, okna atd., Jejichž prostřednictvím může uživatel komunikovat s aplikací. GUI hraje důležitou roli při vytváření jednoduchých rozhraní pro aplikace Java.

Příklad grafického uživatelského rozhraní Java

Nyní v tomto výukovém programu Swing Java, pojďme pochopit GUI s příklady Java Swing.

Příklad : Chcete-li se naučit programování Java GUI v tomto výukovém programu Java GUI Krok 1) Zkopírujte následující kód do editoru

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button = new JButton("Press");frame.getContentPane().add(button); // Adds Button to content pane of frameframe.setVisible(true);}}

Krok 2) Uložte, zkompilujte a spusťte kód.Krok 3) Nyní přidejme tlačítko do našeho rámečku. Zkopírujte následující kód do editoru z daného příkladu Java GUI

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Press");frame.getContentPane().add(button1);frame.setVisible(true);}}

Krok 4) Spusťte kód. Získáte velké tlačítko

Krok 5) Co tak přidat dvě tlačítka? Zkopírujte následující kód do editoru.

import javax.swing.*;class gui{public static void main(String args[]){JFrame frame = new JFrame("My First GUI");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(300,300);JButton button1 = new JButton("Button 1");JButton button2 = new JButton("Button 2");frame.getContentPane().add(button1);frame.getContentPane().add(button2);frame.setVisible(true);}}

Krok 6) Uložte, zkompilujte a spusťte program.Krok 7) Neočekávaný výstup =? Tlačítka se překrývají.

Správce rozložení Java

Správce rozložení se používá k rozložení (nebo uspořádání) java komponent GUI uvnitř kontejneru. Existuje mnoho správců rozložení, ale nejčastěji používané jsou -

Java BorderLayout

A BorderLayoutumisťuje komponenty až do pěti oblastí: nahoře, dole, vlevo, vpravo a uprostřed. Je to výchozí správce rozložení pro každý java JFrame

Java FlowLayout

FlowLayoutje výchozí správce rozvržení pro všechny JPanel. Jednoduše rozloží komponenty do jedné řady jednu za druhou.

Java GridBagLayout

Je to sofistikovanější ze všech rozvržení. Zarovná komponenty tak, že je umístí do mřížky buněk, což umožňuje komponentám překlenout více než jednu buňku.

Krok 8) Co takhle vytvořit chatovací rámeček jako níže?

Zkuste se sami kódovat, než se podíváte na program níže.

//Usually you will require both swing and awt packages// even if you are working with just swings.import javax.swing.*;import java.awt.*;class gui {public static void main(String args[]) {//Creating the FrameJFrame frame = new JFrame("Chat Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 400);//Creating the MenuBar and adding componentsJMenuBar mb = new JMenuBar();JMenu m1 = new JMenu("FILE");JMenu m2 = new JMenu("Help");mb.add(m1);mb.add(m2);JMenuItem m11 = new JMenuItem("Open");JMenuItem m22 = new JMenuItem("Save as");m1.add(m11);m1.add(m22);//Creating the panel at bottom and adding componentsJPanel panel = new JPanel(); // the panel is not visible in outputJLabel label = new JLabel("Enter Text");JTextField tf = new JTextField(10); // accepts upto 10 charactersJButton send = new JButton("Send");JButton reset = new JButton("Reset");panel.add(label); // Components Added using Flow Layoutpanel.add(tf);panel.add(send);panel.add(reset);// Text Area at the CenterJTextArea ta = new JTextArea();//Adding Components to the frame.frame.getContentPane().add(BorderLayout.SOUTH, panel);frame.getContentPane().add(BorderLayout.NORTH, mb);frame.getContentPane().add(BorderLayout.CENTER, ta);frame.setVisible(true);}}