Swing In Java: Naučte sa, ako vytvoriť GUI pomocou príkladov



: získajte koncept swingu v jave pomocou hierarchie tried swingu a manažéra rozloženia praktickou ukážkou aplikácie GUI.

Swing v jave je súčasťou základnej triedy Java, ktorá je ľahká a nezávislá na platforme. Používa sa na vytváranie okenných aplikácií. Zahŕňa komponenty ako tlačidlo, posúvač, textové pole atď. Spojením všetkých týchto komponentov sa vytvorí grafické používateľské rozhranie. V tomto článku si prejdeme koncepty zapojené do procesu vytvárania aplikácií pomocou swing in . V tomto článku sa diskutuje o koncepciách:

Čo je to Swing v Jave?

Swing in Java je ľahká súprava nástrojov GUI, ktorá má širokú škálu widgetov na vytváranie optimalizovaných aplikácií založených na oknách. Je súčasťou JFC (Java Foundation Classes). Je postavený na vrchole AWT API a je úplne napísaný v . Na rozdiel od AWT je nezávislý na platforme a má ľahké komponenty.





Vytváranie aplikácií sa stáva ľahším, pretože už máme komponenty grafického používateľského rozhrania, ako je tlačidlo, začiarkavacie políčko atď. Je to užitočné, pretože nemusíme začínať úplne od nuly.

Trieda kontajnera

akýkoľvek ktorá má v sebe ďalšie komponenty sa nazýva ako kontajnerová trieda. Na vytváranie aplikácií GUI je nevyhnutná najmenej jedna trieda kontajnera.



Nasledujú tri typy tried kontajnerov:

  1. Panel - slúži na usporiadanie komponentov do okna

  2. Rám - Plne funkčné okno s ikonami a titulmi



  3. Dialóg - Je to ako vyskakovacie okno, ale nie je úplne funkčné ako rám

Rozdiel medzi AWT a Swing

AWT HOJDAČKA
  • Závislé na platforme
  • Nezávislá na platforme
  • Nesleduje MVC
  • Nasleduje MVC
  • Menšie komponenty
  • Výkonnejšie komponenty
  • Nepodporuje zapojiteľný vzhľad a dojem
  • Podporuje zapojiteľný vzhľad a štýl
  • Ťažká váha
  • Ľahký

Hierarchia triedy Java Swing

hierarchia-hojdačka v java-edureka

Vysvetlenie : Všetky komponenty v hojdačke ako JButton, JComboBox, JList, JLabel sa dedia z triedy JComponent, ktorú je možné pridať do tried kontajnerov. Kontajnery sú okná ako rám a dialógové okná. Základné komponenty hojdačky sú stavebnými kameňmi akejkoľvek aplikácie gui. Metódy ako setLayout prepíšu predvolené rozloženie v každom kontajneri. Kontajnery ako JFrame a JDialog môžu k sebe pridať iba komponent. Nasleduje niekoľko komponentov s príkladmi, aby sme pochopili, ako ich môžeme používať.

Trieda JButton

Používa sa na vytvorenie označeného tlačidla. Použitím ActionListeneru to po stlačení tlačidla vyústi do nejakej akcie. Dedí triedu AbstractButton a je nezávislá na platforme.

Príklad:

import javax.swing. * príklad verejnej triedy {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ýkon:

parsovanie xml súboru v jave

Trieda JTextField

Dedí po triede JTextComponent a slúži na umožnenie úpravy jednoriadkového textu.

Príklad:

import javax.swing. * príklad verejnej triedy {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ýkon:

Trieda JScrollBar

Používa sa na pridanie posúvača, horizontálneho aj vertikálneho.

Príklad:

import javax.swing. * príklad triedy {example () {JFrame a = nový JFrame ('prí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ý príklad ()}}

Výkon:

Trieda JPanel

Zdedí triedu JComponent a poskytuje priestor pre aplikáciu, ktorá môže pripojiť akýkoľvek iný komponent.

import java.awt. * import javax.swing. * verejná trieda Príklad {Príklad () {JFrame a = nový JFrame ('príklad') JPanel p = nový JPanel () p.setBounds (40,70,200,200) JButton b = nový JButton ('kliknite na mňa') 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ý príklad ()}}

Výkon:

mená Clas s

Dedí po triede JMenuItem a je to komponent rozbaľovacej ponuky, ktorý sa zobrazuje z panela s ponukami.

import javax.swing. * class Príklad {JMenu menu JMenuItem a1, a2 Príklad () {JFrame a = nový JFrame ('Príklad') menu = 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ý príklad ()}}

Výkon:

Trieda JList

Zdedí triedu JComponent, objekt triedy JList predstavuje zoznam textových položiek.

import javax.swing. * public class Príklad {Example () {JFrame a = nový JFrame ('príklad') DefaultListModel l = nový DefaultListModel () l.addElement ('prvá 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ý príklad ()}}

Výkon:

Trieda JLabel

Slúži na umiestnenie textu do kontajnera. Dedí tiež triedu JComponent.

zoradiť pole c ++
import javax.swing. * public class Prí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ýkon:

Trieda JComboBox

Zdedí triedu JComponent a slúži na zobrazenie rozbaľovacej ponuky 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ý príklad ()}}

Výkon:

Správca rozloženia

Na usporiadanie komponentov vnútri kontajnera používame manažéra rozloženia. Nasleduje niekoľko správcov rozloženia:

  1. Rozloženie hraníc

  2. Rozloženie toku

  3. Rozloženie GridBag

Rozloženie hraníc

Predvolený správca rozloženia pre každý JFrame je BorderLayout. Umiestňuje komponenty až na päť miest, ktoré sú horné, spodné, ľavé, pravé a stredové.

Rozloženie toku

FlowLayout jednoducho ukladá komponenty za sebou, je to predvolený správca rozloženia pre každý JPanel.

čo je anakonda pre python

Rozloženie GridBag

GridBagLayout umiestňuje komponenty do mriežky, ktorá umožňuje, aby komponenty zahŕňali viac ako jednu bunku.

Príklad: Rám chatu

import javax.swing. * import java.awt. * class Prí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 = nový JMenuItem (' Uložiť ako ') ob1.add (m11) ob1.add (m22) panel JPanel = nový JPanel () // panel nie je vo výstupe viditeľný JLabel label = nový JLabel (' Zadajte text ') JTextField tf = nový JTextField (10) // prijíma až 10 znakov JButton send = nový JButton (' Send ') JButton reset = nový JButton (' Reset ') panel.add (štítok) // Komponenty pridané pomocou panelu Flow Layout .add (label) // Komponenty pridané pomocou panela Flow Layout. panel (tf) panel.add (odoslanie) panel.add (reset) JTextArea ta = nový 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ý príklad na vytvorenie grafického používateľského rozhrania pomocou swingu v Jave.

V tomto článku sme sa zaoberali swingom v Jave a hierarchiou Java swingových tried. So všetkými komponentmi, ktoré sú súčasťou Java, je jednoduchšie vytvárať optimalizované aplikácie GUI. Programovací jazyk Java je štruktúrovaný programovací jazyk a s rastúcim dopytom je mimoriadne dôležité osvojiť si všetky pojmy . Ak chcete naštartovať svoje učenie a stať sa odborníkom na programovanie v jazyku Java, prihláste sa do firmy Edureka’s .

Máte na nás otázku? uveďte to v sekcii komentárov tohto článku „Swing In Java“ a my sa vám ozveme čo najskôr.