Swing v Javi: vedeti, kako ustvariti GUI s primeri

: zaslužite koncept swinga v javi s hierarhijo swing razredov in upraviteljem postavitve s praktičnim prikazom GUI aplikacije.

Swing v javi je del osnovnega razreda Java, ki je lahek in neodvisen od platforme. Uporablja se za ustvarjanje aplikacij, ki temeljijo na oknih. Vključuje komponente, kot so gumb, drsni trak, besedilno polje itd. Sestavljanje vseh teh komponent naredi grafični uporabniški vmesnik. V tem članku bomo preučili koncepte, vključene v postopek gradnje aplikacij z uporabo swing-a . Sledijo koncepti, obravnavani v tem članku:

Kaj je Swing v Javi?

Swing in Java je lahka zbirka orodij za grafični uporabniški vmesnik, ki ima široko paleto pripomočkov za izdelavo optimiziranih okenskih aplikacij. Je del JFC (Java Foundation Classes). Zgrajen je nad API-jem AWT in v celoti napisan v . Za razliko od AWT je neodvisen od platforme in ima lahke komponente.





Graditi aplikacije je lažje, saj že imamo komponente GUI, kot so gumb, potrditveno polje itd. To je koristno, ker nam ni treba začeti od začetka.

Razred kontejnerja

Kaj ki vsebuje druge komponente, se imenuje kot razred vsebnika. Za izdelavo GUI aplikacij je potreben vsaj en razred vsebnika.



Sledijo tri vrste razredov vsebnikov:

  1. Panel - Uporablja se za organiziranje komponent v okno

  2. Okvir - popolnoma delujoče okno z ikonami in naslovi



  3. Pogovorno okno - Je kot pojavno okno, vendar ni popolnoma funkcionalno kot okvir

Razlika med AWT in Swing

AWT NJAVE
  • Odvisno od platforme
  • Neodvisno od platforme
  • Ne sledi MVC
  • Sledi MVC
  • Manjše komponente
  • Močnejše komponente
  • Ne podpira vtičnega videza in občutka
  • Podpira vtični videz in občutek
  • Težka kategorija
  • Lahka

Hierarhija razreda Java Swing

nihanje hierarhije v java-edureki

Pojasnilo : Vse komponente v zamahu, kot so JButton, JComboBox, JList, JLabel, so podedovane iz razreda JComponent, ki ga lahko dodamo v razrede vsebnikov. Posode so okna, kot so okvir in pogovorna okna. Osnovni nihajni sestavni deli so gradniki katere koli aplikacije gui. Metode, kot je setLayout, preglasijo privzeto postavitev v vsakem vsebniku. Vsebniki, kot sta JFrame in JDialog, lahko komponento dodajo samo sebi. Sledi nekaj komponent s primeri, da razumemo, kako jih lahko uporabimo.

Razred JButton

Uporablja se za ustvarjanje označenega gumba. Uporaba ActionListenerja bo povzročila nekaj dejanj, ko pritisnete gumb. Podeduje razred AbstractButton in je neodvisen od platforme.

Primer:

import javax.swing. * primer javnega razreda {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)}}

Izhod:

kaj je optični bralnik

Razred JTextField

Podeduje razred JTextComponent in se uporablja za urejanje enovrstičnega besedila.

Primer:

import javax.swing. * primer javnega razreda {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)}}

Izhod:

Razred JScrollBar

Uporablja se za dodajanje drsnega traku, tako vodoravnega kot navpičnega.

Primer:

kako zgraditi prodajno aplikacijo
import javax.swing. * primer razreda {primer () {JFrame a = nov JFrame ('primer') 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 primer ()}}

Izhod:

Razred JPanel

Podeduje razred JComponent in zagotavlja prostor za aplikacijo, ki lahko pripne katero koli drugo komponento.

import java.awt. * import javax.swing. * javni razred Primer {Primer () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('klikni 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 primer ()}}

Izhod:

JMenu Clas s

Podeduje razred JMenuItem in je sestavni del spustnega menija, ki se prikaže v menijski vrstici.

import javax.swing. * Primer Primer {meni JMenu JMenuItem a1, a2 Primer () {JFrame a = nov JFrame ('Primer') meni = 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 primer ()}}

Izhod:

Razred JList

Podeduje razred JComponent, objekt razreda JList predstavlja seznam besedilnih elementov.

import javax.swing. * javni razred Primer {Primer () {JFrame a = new JFrame ('example') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') 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 primer ()}}

Izhod:

Razred JLabel

Uporablja se za polaganje besedila v posodo. Podeduje tudi razred JComponent.

import javax.swing. * javni razred Primer {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)}}

Izhod:

Razred JComboBox

Podeduje razred JComponent in se uporablja za prikaz pojavnega menija z izbiro.

import javax.swing. * javni razred Primer {JFrame a Example () {a = new JFrame ('example') string courses [] = {'core java', 'advance java', 'java servlet'} JComboBox c = novo JComboBox (tečaji) 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 primer ()}}

Izhod:

Upravitelj postavitve

Za razporeditev komponent znotraj vsebnika uporabljamo upravitelja postavitve. Sledi več upraviteljev postavitve:

  1. Postavitev meje

  2. Postavitev toka

    kako nastaviti pot v javi -
  3. Postavitev GridBag

Postavitev meje

Privzeti upravitelj postavitve za vsak JFrame je BorderLayout. Komponente postavi na največ pet mest, in sicer zgoraj, spodaj, levo, desno in sredino.

Postavitev pretoka

FlowLayout preprosto polaga komponente zaporedoma eno za drugo, je privzeti upravitelj postavitve za vsak JPanel.

Postavitev GridBag

GridBagLayout postavi komponente v mrežo, ki komponentam omogoča, da obsegajo več kot eno celico.

Primer: Chat Frame

import javax.swing. * import java.awt. * class class {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 () // plošča ni vidna v izhodu JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // sprejme do 10 znakov JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Komponente dodane s pomočjo plošče Layout Flow .add (label) // Komponente dodane s pomočjo plošče Layout Flow.add (tf) panel.add (send) 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)}}

To je preprost primer za ustvarjanje GUI z uporabo swinga v Javi.

V tem članku smo razpravljali o swingu v Javi in ​​hierarhiji Java swing razredov. Z vsemi komponentami, ki so priložene swingu v Javi, je lažje graditi optimizirane GUI aplikacije. Programski jezik Java je strukturiran programski jezik in z naraščajočim povpraševanjem postaja izjemno pomembno obvladati vse koncepte v . Če želite začeti s svojim učenjem in postati strokovnjak za programiranje jave, se včlanite na Edureka .

Imate vprašanje za nas? prosimo, omenite to v oddelku za komentarje v tem članku 'Swing In Java' in se vam bomo javili v najkrajšem možnem času.