„Swing Java“: žinokite, kaip sukurti GUI su pavyzdžiais



: uždirbkite „swing“ idėją java su „swing“ klasės hierarchija ir maketavimo tvarkykle, praktiškai parodydami GUI taikymą.

„Swing in Java“ yra „Java“ pamatų klasės dalis, kuri yra lengva ir nepriklausoma nuo platformos. Jis naudojamas langų programoms kurti. Tai apima komponentus, tokius kaip mygtukas, slinkties juosta, teksto laukas ir kt. Sudėjus visus šiuos komponentus, sukuriama grafinė vartotojo sąsaja. Šiame straipsnyje mes apžvelgsime sąvokas, susijusias su programų kūrimu naudojant „swing in“ . Toliau pateikiamos šiame straipsnyje aptariamos sąvokos:

Kas yra „Swing Java“?

„Swing in Java“ yra lengvas GUI įrankių rinkinys, kuriame yra daugybė valdiklių, skirtų kurti optimizuotas langų programas. Tai yra JFC („Java Foundation Classes“) dalis. Jis sukurtas ant AWT API ir visiškai parašytas . Skirtingai nuo AWT, jis yra nepriklausomas nuo platformos ir turi lengvus komponentus.





Kurti programas tampa lengviau, nes jau turime GUI komponentus, pvz., Mygtuką, žymimąjį laukelį ir pan. Tai naudinga, nes nereikia pradėti nuo nulio.

Konteinerių klasė

Bet koks kuriame yra kitų komponentų, vadinama konteinerių klase. Kuriant GUI programas būtina bent viena konteinerių klasė.



Toliau pateikiamos trijų tipų konteinerių klasės:

  1. Skydelis - jis naudojamas komponentams tvarkyti ant lango

  2. Rėmas - visiškai veikiantis langas su piktogramomis ir pavadinimais



  3. Dialogas - tai tarsi iššokantis langas, bet nevisiškai veikiantis kaip rėmelis

Skirtumas tarp AWT ir „Swing“

AWT Sūpynės
  • Priklausomas nuo platformos
  • Nepriklausoma nuo platformos
  • Nesilaiko MVC
  • Stebima MVC
  • Mažesni komponentai
  • Galingesni komponentai
  • Nepalaiko įkišamos išvaizdos
  • Palaiko prijungiamą išvaizdą
  • Sunkiasvoris
  • Lengvas

„Java Swing“ klasės hierarchija

hierarchija-svyravimai java-edurekoje

Paaiškinimas : Visi sukami komponentai, tokie kaip „JButton“, „JComboBox“, „JList“, „JLabel“, yra paveldėti iš „JComponent“ klasės, kurią galima pridėti prie konteinerių klasių. Konteineriai yra tokie langai kaip rėmelis ir dialogo langai. Pagrindiniai sūpynės komponentai yra bet kurios „gui“ programos statybiniai elementai. Tokie metodai, kaip „setLayout“, pakeičia numatytąjį kiekvieno sudėtinio rodinio išdėstymą. Tokie konteineriai, kaip „JFrame“ ir „JDialog“, gali pridėti komponentą tik patys. Toliau pateikiami keli komponentai su pavyzdžiais, kad suprastume, kaip galime juos naudoti.

JButton klasė

Jis naudojamas kuriant pažymėtą mygtuką. Naudojant „ActionListener“, paspaudus mygtuką bus atliekami tam tikri veiksmai. Jis paveldi „AbstractButton“ klasę ir yra nepriklausomas nuo platformos.

Pavyzdys:

importuoti javax.swing. * viešosios klasės pavyzdys {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)}}

Išvestis:

konvertuoti datos eilutę į datą

„JTextField“ klasė

Jis paveldi „JTextComponent“ klasę ir naudojamas redaguoti vienos eilutės tekstą.

Pavyzdys:

importuoti javax.swing. * viešosios klasės pavyzdys {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)}}

Išvestis:

„JScrollBar“ klasė

Jis naudojamas slinkties juostai pridėti tiek horizontaliai, tiek vertikaliai.

Pavyzdys:

importuoti javax.swing. * klasės pavyzdys {pavyzdys () {JFrame a = naujas JFrame ('pavyzdys') JScrollBar b = naujas 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 []) {naujas pavyzdys ()}}

Išvestis:

JPanel klasė

Jis paveldi „JComponent“ klasę ir suteikia vietos programai, kuri gali prijungti bet kurį kitą komponentą.

importuoti java.awt. * importuoti javax.swing. * viešosios klasės pavyzdys {Pavyzdys () {JFrame a = naujas JFrame ('pavyzdys') JPanel p = naujas JPanel () p.setBounds (40,70,200,200) JButton b = naujas JButton („spustelėkite mane“) 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 []) {naujas pavyzdys ()}}

Išvestis:

JMenu Clas s

Jis paveldi „JMenuItem“ klasę ir yra išskleidžiamasis meniu komponentas, rodomas iš meniu juostos.

tipo konversija c ++
importuoti javax.swing. * klasės pavyzdys {JMenu meniu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Example') menu = new JMenu ('options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( „pavyzdys“) a2 = naujas „JMenuItem“ („pavyzdys1“) meniu.add (a1) meniu.add (a2) m1.add (meniu) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {naujas pavyzdys ()}}

Išvestis:

JList klasė

Tai paveldi „JComponent“ klasę, „JList“ klasės objektas reiškia tekstinių elementų sąrašą.

importuoti javax.swing. * viešosios klasės pavyzdys {Pavyzdys () (JFrame a = new JFrame ('example') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') JList b = naujas 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 [ ]) {naujas pavyzdys ()}}

Išvestis:

„JLabel“ klasė

Jis naudojamas tekstui įdėti į talpyklą. Tai taip pat paveldi „JComponent“ klasę.

importuoti javax.swing. * public class Pavyzdys {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)}}

Išvestis:

„JComboBox“ klasė

Jis paveldi „JComponent“ klasę ir yra naudojamas iššokančiajam pasirinkimų meniu.

importuoti javax.swing. * viešosios klasės pavyzdys {JFrame a Example () {a = new JFrame ('example') string string [] = {'core java', 'anksto java', 'java servlet'} JComboBox c = new JComboBox (kursai) 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 [] ) {naujas pavyzdys ()}}

Išvestis:

Maketo tvarkyklė

Norėdami sutvarkyti komponentus talpykloje, mes naudojame maketo tvarkytuvę. Toliau pateikiami keli maketų tvarkytuvai:

  1. Sienų išdėstymas

    kas yra lėlė ir virėjas
  2. Srauto išdėstymas

  3. „GridBag“ maketas

Pasienio maketas

Numatytasis kiekvieno „JFrame“ maketo tvarkytuvas yra „BorderLayout“. Komponentai dedami į penkias vietas, kurios yra viršuje, apačioje, kairėje, dešinėje ir centre.

Srauto išdėstymas

„FlowLayout“ paprasčiausiai išdėsto komponentus iš eilės vienas po kito, tai yra numatytasis kiekvieno JPanel maketo tvarkytuvas.

„GridBag“ maketas

„GridBagLayout“ komponentai dedami į tinklelį, kuris leidžia komponentams apimti daugiau nei vieną langelį.

Pavyzdys: pokalbių rėmelis

importuoti javax.swing. * importuoti java.awt. * klasės pavyzdys {public static void main (String args []) {JFrame frame = new JFrame ('Chat Chat') 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ė nematoma išvestyje JLabel label = new JLabel (' Enter text ') JTextField tf = new JTextField (10) // priima iki 10 simbolių JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Components Added by Flow Layout panel .add (label) // komponentai, pridėti naudojant „Flow Layout panel.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 Išdėstymas.CENTER, ta) frame.setVisible (true)}}

Tai yra paprastas GUI kūrimo pavyzdys naudojant „Java“ sūpynes.

Šiame straipsnyje aptarėme „Java“ svyravimus ir „Java“ swing klasių hierarchiją. Su visais komponentais, kurie ateina su „Java“ svyravimais, tampa lengviau kurti optimizuotas GUI programas. Java programavimo kalba yra struktūrizuota programavimo kalba, o didėjant poreikiui tampa nepaprastai svarbu įsisavinti visas sąvokas . Norėdami pradėti mokytis ir tapti java programavimo ekspertu, užsiregistruokite „Edureka“ .

Turite mums klausimą? paminėkite tai šio straipsnio „Swing In Java“ komentarų skyriuje ir mes kuo greičiau susisieksime su jumis.