Swing In Java: Alamin Kung Paano Lumikha ng GUI Sa Mga Halimbawa



: kumita ng konsepto ng swing sa java na may swing class hierarchy at layout manager na may praktikal na pagpapakita ng aplikasyon ng GUI.

Ang swing sa java ay bahagi ng Java foundation class na kung saan ay magaan ang timbang at independiyenteng platform. Ginagamit ito para sa paglikha ng mga application na batay sa window. May kasamang mga sangkap tulad ng button, scroll bar, text field atbp. Ang pagsasama-sama sa lahat ng mga sangkap na ito ay gumagawa ng isang graphic na interface ng gumagamit. Sa artikulong ito, dadaan kami sa mga konseptong kasangkot sa proseso ng pagbuo ng mga aplikasyon gamit ang swing in . Ang sumusunod ay ang mga konsepto na tinalakay sa artikulong ito:

Ano ang Swing In Java?

Ang Swing in Java ay isang magaan na toolkit ng GUI na may iba't ibang mga widget para sa pagbuo ng na-optimize na mga application na batay sa window. Ito ay bahagi ng JFC (Java Foundation Classes). Bumuo ito sa tuktok ng AWT API at buong nakasulat sa . Ito ay malaya sa platform hindi katulad ng AWT at may magaan na mga bahagi.





Nagiging mas madali ang pagbuo ng mga application dahil mayroon na kaming mga sangkap ng GUI tulad ng pindutan, checkbox atbp. Nakatutulong ito dahil hindi namin kailangang magsimula mula sa simula.

Klase ng lalagyan

Kahit ano na kung saan ay may iba pang mga bahagi sa ito ay tinatawag na bilang isang lalagyan klase. Para sa pagbuo ng mga aplikasyon ng GUI hindi bababa sa isang klase ng lalagyan ang kinakailangan.



Ang sumusunod ay ang tatlong uri ng mga klase sa lalagyan:

  1. Panel - Ginagamit ito upang ayusin ang mga bahagi sa isang window

  2. Frame - Isang ganap na gumaganang window na may mga icon at pamagat



  3. Dialog - Ito ay tulad ng isang pop up window ngunit hindi ganap na gumagana tulad ng frame

Pagkakaiba sa pagitan ng AWT at Swing

AWT TUMAYOG
  • Depende sa Platform
  • Malayang Platform
  • Hindi sumusunod sa MVC
  • Sumusunod sa MVC
  • Mas Mababang Mga Bahagi
  • Mas malakas na mga bahagi
  • Hindi suportado ng mailalabas na hitsura at pakiramdam
  • Sinusuportahan ang naka-plug na hitsura at pakiramdam
  • Heavyweight
  • Magaan

Java Swing Class Hierarchy

hierarchy-swing sa java-edureka

Paliwanag : Ang lahat ng mga bahagi sa swing tulad ng J Button, JComboBox, JList, JLabel ay minana mula sa JComponent class na maaaring idagdag sa mga klase ng lalagyan. Ang mga lalagyan ay ang mga bintana tulad ng frame at mga dialog box. Ang mga pangunahing bahagi ng swing ay ang mga bloke ng gusali ng anumang aplikasyon ng gui. Ang mga pamamaraan tulad ng setLayout ay override ang default na layout sa bawat lalagyan. Ang mga lalagyan tulad ng JFrame at JDialog ay maaari lamang magdagdag ng isang bahagi sa sarili nito. Ang mga sumusunod ay ilang bahagi na may mga halimbawa upang maunawaan kung paano natin magagamit ang mga ito.

Jbutton Class

Ginagamit ito upang lumikha ng isang may label na pindutan. Gamit ang ActionListener magreresulta ito sa ilang pagkilos kapag naitulak ang pindutan. Nagmamana ng klase ng Abstract Button at independiyenteng platform.

Halimbawa:

i-import ang javax.swing. * halimbawa ng klase sa publiko {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)}}

Output:

ano ang logger sa java

JTextField Class

Nagmamana ng klase ng JTextComponent at ginagamit ito upang payagan ang pag-edit ng solong teksto ng linya.

Halimbawa:

import javax.swing. * halimbawa ng klase sa publiko {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)}}

Output:

JScrollBar Class

Ginagamit ito upang magdagdag ng scroll bar, parehong pahalang at patayo.

Halimbawa:

import javax.swing. * halimbawa ng klase {halimbawa () {JFrame a = bagong JFrame ('halimbawa') JScrollBar b = bagong 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 []) {bagong halimbawa ()}}

Output:

JPanel Class

Nagmamana ng klase ng JComponent at nagbibigay ng puwang para sa isang application na maaaring maglakip ng anumang iba pang bahagi.

import java.awt. * import javax.swing. * pampublikong klase Halimbawa {Halimbawa () {JFrame a = bagong JFrame ('halimbawa') JPanel p = bagong JPanel () p.setBounds (40,70,200,200) J Button b = bagong J Button ('click me') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} publiko static void main (String args []) {bagong Halimbawa ()}}

Output:

JMenu Clas s

Nagmamana ng klase ng JMenuItem, at isang pull down na sangkap ng menu na ipinakita mula sa menu bar.

import javax.swing. * class Halimbawa {JMenu menu JMenuItem a1, a2 Halimbawa () {JFrame a = bagong JFrame ('Halimbawa') menu = bagong JMenu ('mga pagpipilian') JMenuBar m1 = bagong JMenuBar () a1 = bagong JMenuItem ( 'example') a2 = bagong 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 []) {bagong Halimbawa ()}}

Output:

Klase ng JList

Nagmamana ng klase ng JComponent, ang bagay ng klase ng JList ay kumakatawan sa isang listahan ng mga item sa teksto.

import javax.swing. * pampublikong klase Halimbawa {Halimbawa () {JFrame a = bagong JFrame ('halimbawa') DefaultListModel l = bagong DefaultListModel () l.addElement ('unang item') l.addElement ('pangalawang item') JList b = bagong 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 [ ]) {bagong Halimbawa ()}}

Output:

k nangangahulugang clustering halimbawa ng dataset

Klase ng JLabel

Ginagamit ito para sa paglalagay ng teksto sa isang lalagyan. Nagmamana din ito ng klase ng JComponent.

import javax.swing. * pampublikong klase Halimbawa {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)}}

Output:

JComboBox Class

Nagmamana ng klase ng JComponent at ginagamit upang ipakita ang pop up menu ng mga pagpipilian.

import javax.swing. * pampublikong klase Halimbawa {JFrame a Halimbawa () {a = bagong JFrame ('halimbawa') mga kurso sa string [] = {'core java', 'advance java', 'java servlet'} JComboBox c = bago JComboBox (mga kurso) 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 [] ) {bagong Halimbawa ()}}

Output:

Layout Manager

Upang ayusin ang mga sangkap sa loob ng isang lalagyan ginagamit namin ang layout manager. Ang sumusunod ay maraming mga tagapamahala ng layout:

  1. Layout ng hangganan

  2. Layout ng daloy

  3. Layout ng GridBag

Layout ng Border

Ang default na manager ng layout para sa bawat JFrame ay BorderLayout. Naglalagay ito ng mga bahagi hanggang sa limang lugar na nasa itaas, sa ibaba, kaliwa, kanan at gitna.

kung paano sumulat ng klase ng singleton sa java

Layout ng Daloy

Ang FlowLayout ay simpleng inilalagay ang mga bahagi sa isang hilera nang sunud-sunod, ito ang default na layout manager para sa bawat JPanel.

Layout ng GridBag

Inilalagay ng GridBagLayout ang mga bahagi sa isang grid na nagbibigay-daan sa mga bahagi na sumaklaw ng higit sa isang cell.

Halimbawa: Chat Frame

import javax.swing. * import java.awt. * class Halimbawa {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = bagong JMenuBar () JMenu ob1 = bagong JMenu ('FILE') JMenu ob2 = bagong JMenu ('Tulong') ob.add (ob1) ob.add (ob2) JMenuItem m11 = bagong JMenuItem ('Open ') JMenuItem m22 = bagong JMenuItem (' I-save bilang ') ob1.add (m11) ob1.add (m22) JPanel panel = bagong JPanel () // ang panel ay hindi nakikita sa output ng label ng JLabel = bagong JLabel (' Enter Text ') Ang JTextField tf = bagong JTextField (10) // ay tumatanggap ng hanggang 10 character na J Button send = bagong J Button (' Send ') J Button reset = new J Button (' Reset ') panel.add (label) // Mga Component na idinagdag gamit ang Flow Layout panel .add (label) // Mga Component na idinagdag gamit ang Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = bagong JTextArea () frame.getContentPane (). idagdag (BorderLayout.SOUTH, panel ) frame.getContentPane (). magdagdag (BorderLayout.NORTH, tf) frame.getContentPane (). idagdag (Border Layout.CENTER, ta) frame.setVisible (totoo)}}

Ito ay isang simpleng halimbawa para sa paglikha ng isang GUI gamit ang swing sa Java.

Sa artikulong ito tinalakay namin ang pag-indayog sa Java at hierarchy ng mga klase sa swing ng Java. Sa lahat ng mga bahagi na kasama ng indayog sa Java, mas madali itong bumuo ng na-optimize na mga application ng GUI. Ang wika ng programang Java ay isang nakabalangkas na wika sa pagprograma at sa pagdaragdag ng pangangailangan ay nagiging lubhang mahalaga na makabisado ang lahat ng mga konsepto . Upang simulan ang iyong pag-aaral at upang maging dalubhasa sa pag-program ng java, magpatala sa Edureka .

May tanong ba sa amin? mangyaring banggitin ito sa seksyon ng mga komento ng artikulong 'Swing In Java' at babalikan ka namin sa lalong madaling panahon.