Swing In Java: Know How to Create GUI With examples

: získejte koncept swingu v Javě s hierarchií tříd swingu a správcem rozvržení s praktickou ukázkou aplikace GUI.

Swing v java je součástí třídy Java Foundation, která je lehká a nezávislá na platformě. Používá se k vytváření okenních aplikací. Zahrnuje komponenty jako tlačítko, posuvník, textové pole atd. Spojením všech těchto komponent vzniká grafické uživatelské rozhraní. V tomto článku projdeme koncepty zapojené do procesu vytváření aplikací pomocí swing in . Následují koncepty popsané v tomto článku:

Co je to Swing v Javě?

Swing in Java je odlehčená sada nástrojů GUI, která má širokou škálu widgetů pro vytváření optimalizovaných okenních aplikací. Je součástí JFC (Java Foundation Classes). Je postaven na vrcholu AWT API a je zcela napsán . Na rozdíl od AWT je nezávislý na platformě a má lehké komponenty.





Vytváření aplikací se stává jednodušší, protože již máme komponenty grafického uživatelského rozhraní, jako je tlačítko, zaškrtávací políčko atd. To je užitečné, protože nemusíme začínat od nuly.

Kontejnerová třída

Žádný který má v sobě další komponenty, se nazývá třída kontejneru. Pro vytváření aplikací GUI je nutná alespoň jedna třída kontejneru.



Následují tři typy tříd kontejnerů:

  1. Panel - Používá se k uspořádání komponent do okna

  2. Rám - plně funkční okno s ikonami a nadpisy



  3. Dialog - Je to jako vyskakovací okno, ale není plně funkční jako rámeček

Rozdíl mezi AWT a Swing

AWT HOUPAČKA
  • Závislé na platformě
  • Nezávislé na platformě
  • Nesleduje MVC
  • Sleduje MVC
  • Menší komponenty
  • Výkonnější komponenty
  • Nepodporuje připojitelný vzhled a chování
  • Podporuje zapojitelný vzhled a chování
  • Těžká váha
  • Lehká váha

Hierarchie tříd Java Swing

hierarchie-swing v java-edureka

Vysvětlení : Všechny komponenty ve swingu jako JButton, JComboBox, JList, JLabel se dědí z třídy JComponent, kterou lze přidat do tříd kontejnerů. Kontejnery jsou okna jako rámeček a dialogová okna. Základní komponenty houpačky jsou stavebními kameny jakékoli aplikace gui. Metody jako setLayout přepíšou výchozí rozložení v každém kontejneru. Kontejnery jako JFrame a JDialog mohou do sebe přidat pouze komponentu. Následuje několik komponent s příklady, abychom pochopili, jak je můžeme používat.

Třída JButton

Slouží k vytvoření označeného tlačítka. Použitím ActionListeneru to po stisknutí tlačítka vyústí v nějakou akci. Dědí třídu AbstractButton a je nezávislá na platformě.

Příklad:

import javax.swing. * příklad veřejné třídy {public static void main (String args []) {JFrame a = new JFrame ('example') JButton b = new JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300 300) a.setLayout (null) a.setVisible (true)}}

Výstup:

java system.exit (1)

Třída JTextField

Zdědí třídu JTextComponent a slouží k povolení úprav textu v jednom řádku.

Příklad:

import javax.swing. * příklad veřejné třídy {public static void main (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300 300) a.setLayout (null) a.setVisible (true)}}

Výstup:

Třída JScrollBar

Používá se k přidání posuvníku, vodorovného i svislého.

Příklad:

import javax.swing. * příklad třídy {example () {JFrame a = nový JFrame ('příklad') JScrollBar b = nový JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300 300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nový příklad ()}}

Výstup:

Třída JPanel

Zdědí třídu JComponent a poskytuje prostor pro aplikaci, která může připojit jakoukoli jinou komponentu.

import java.awt. * import javax.swing. * veřejná třída Příklad {Příklad () {JFrame a = nový JFrame ('příklad') JPanel p = nový JPanel () p.setBounds (40,70,200,200) JButton b = nový JButton ('click me') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400 400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nový příklad ()}}

Výstup:

JMenu Clas s

Zdědí třídu JMenuItem a je to komponenta rozbalovací nabídky, která se zobrazuje z řádku nabídek.

import javax.swing. * třída Příklad {JMenu nabídka JMenuItem a1, a2 Příklad () {JFrame a = nový JFrame ('Příklad') nabídka = nový JMenu ('možnosti') JMenuBar m1 = nový JMenuBar () a1 = nový JMenuItem ( 'example') a2 = new JMenuItem ('example1') menu.add (a1) menu.add (a2) m1.add (menu) a.setJMenuBar (m1) a.setSize (400 400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {nový příklad ()}}

Výstup:

Třída JList

Dědí JComponent třídu, objekt třídy JList představuje seznam textových položek.

import javax.swing. * public class Příklad {Příklad () {JFrame a = nový JFrame ('příklad') DefaultListModel l = nový DefaultListModel () l.addElement ('první položka') l.addElement ('druhá položka') JList b = nový JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400 400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {nový příklad ()}}

Výstup:

Třída JLabel

Používá se k umístění textu do kontejneru. Zdědí také třídu JComponent.

jak používat vizuální studio
import javax.swing. * public class Příklad {public static void main (String args []) {JFrame a = new JFrame ('example') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400 400) a.setLayout (null) a.setVisible (true)}}

Výstup:

Třída JComboBox

Zdědí třídu JComponent a slouží k zobrazení rozbalovací nabídky možností.

import javax.swing. * public class Example {JFrame a Example () {a = new JFrame ('example') string courses [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (kurzy) c.setBounds (40,40,90,20) a.add (c) a.setSize (400 400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {nový příklad ()}}

Výstup:

Správce rozložení

K uspořádání komponent uvnitř kontejneru používáme správce rozvržení. Následuje několik správců rozložení:

  1. Rozložení hranic

  2. Rozložení toku

  3. Rozložení GridBag

Rozvržení hranice

Výchozí správce rozložení pro každý JFrame je BorderLayout. Umístí komponenty až na pět míst, která jsou nahoře, dole, vlevo, vpravo a uprostřed.

Rozložení toku

FlowLayout jednoduše položí komponenty do řady jeden za druhým, je to výchozí správce rozložení pro každý JPanel.

má vztah v Javě

Rozložení GridBag

GridBagLayout umístí komponenty do mřížky, která umožňuje komponentám překlenout více než jednu buňku.

Příklad: Rám chatu

import javax.swing. * import java.awt. * třída Příklad {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ('Open ') JMenuItem m22 = new JMenuItem (' Save as ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // panel není ve výstupu viditelný JLabel label = new JLabel (' Zadejte text ') JTextField tf = nový JTextField (10) // přijímá až 10 znaků JButton send = nový JButton (' Odeslat ') JButton reset = nový JButton (' Reset ') panel.add (štítek) // Komponenty přidané pomocí panelu Flow Layout .add (štítek) // Komponenty přidané pomocí panelu Flow Layout.add (tf) panel.add (odeslat) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

Toto je jednoduchý příklad pro vytvoření grafického uživatelského rozhraní pomocí swingu v Javě.

V tomto článku jsme diskutovali o houpání v Javě a hierarchii tříd houpání v Javě. Se všemi komponentami, které jsou součástí Java, je snazší vytvářet optimalizované aplikace GUI. Programovací jazyk Java je strukturovaný programovací jazyk a se zvyšující se poptávkou je nesmírně důležité zvládnout všechny koncepty . Chcete-li nastartovat učení a stát se odborníkem na programování v jazyce Java, zaregistrujte se do Edureky .

Máte na nás dotaz? uveďte to prosím v sekci komentářů v tomto článku „Swing In Java“ a my se vám ozveme co nejdříve.