„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 „Java Swing“?
- Konteinerių klasė
- Skirtumas tarp AWT ir sūpynės
- „Java Swing“ klasės hierarchija
- Maketo tvarkyklė
- „Chat-Frame“ pavyzdys
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:
Skydelis - jis naudojamas komponentams tvarkyti ant lango
Rėmas - visiškai veikiantis langas su piktogramomis ir pavadinimais
Dialogas - tai tarsi iššokantis langas, bet nevisiškai veikiantis kaip rėmelis
Skirtumas tarp AWT ir „Swing“
AWT | Sūpynės |
|
|
|
|
|
|
|
|
|
|
„Java Swing“ klasės hierarchija
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:
Sienų išdėstymas
kas yra lėlė ir virėjas
Srauto išdėstymas
„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.