logo

Johdatus Java Swingiin

Keinu on Java Foundation Classes [JFC] -kirjasto ja Abstract Window Toolkit [AWT] laajennus. Java Swing tarjoaa paljon parannettuja toimintoja AWT:hen verrattuna, uusia komponentteja, laajennettuja komponenttiominaisuuksia ja erinomaista tapahtumien käsittelyä vedä ja pudota -tuella.

Java Swingin esittely

Swingissä on noin neljä kertaa enemmän käyttöliittymän [UI] komponentteja kuin AWT:ssä, ja se on osa Java-vakiojakelua. Tämän päivän sovellusten GUI-vaatimusten mukaan AWT on rajoitettu toteutus, joka ei aivan kykene tarjoamaan komponentteja, joita tarvitaan nykyaikaisissa kaupallisissa sovelluksissa tarvittavien monimutkaisten graafisten käyttöliittymien kehittämiseen. AWT-komponenttijoukossa on melko vähän virheitä, ja se vie paljon järjestelmäresursseja verrattuna vastaaviin Swing-resursseihin. Netscape esitteli Internet Foundation Classes [IFC] -kirjastonsa käytettäväksi Java:n kanssa. Sen luokista tuli erittäin suosittu ohjelmoijien keskuudessa, jotka loivat GUI:ita kaupallisiin sovelluksiin.



  • Swing on API-sarja (API-sarja luokkia ja käyttöliittymiä)
  • Swing on tarkoitettu graafisten käyttöliittymien suunnitteluun
  • Swing on AWT:n (Abstract Window Toolkit) laajennuskirjasto klo 17.00–17.30
  • Sisältää uusia ja parannettuja komponentteja, jotka ovat parantaneet graafisten käyttöliittymien ulkonäköä ja toimivuutta
  • Swingiä voidaan käyttää itsenäisten swingin GUI-sovellusten rakentamiseen (kehittämiseen) servleteinä ja sovelmina
  • Se käyttää malli-/näkymäsuunnitteluarkkitehtuuria.
  • Swing on kannettavampi ja joustavampi kuin AWT, Swing on rakennettu AWT:n päälle.
  • Swing on kokonaan kirjoitettu Java-kielellä.
  • Java Swing -komponentit ovat alustasta riippumattomia, ja Swing-komponentit ovat kevyitä.
  • Swing tukee kytkettävää ulkoasua ja tuntumaa, ja Swing tarjoaa tehokkaampia komponentteja.
  • kuten taulukot, luettelot, vieritysruudut, värivalinta, välilehtiruutu jne.
  • Lisää swingiä seuraa MVC:tä.

Ero Java Swingin ja Java AWT:n välillä

On tiettyjä kohtia, joista Java Swing eroaa Java AWT:stä, kuten alla mainitaan:

Java AWT

Java Swing



sivu alas näppäimistö

Java AWT on API GUI-sovellusten kehittämiseen Javassa.

Swing on osa Java Foundation Classesia, ja sitä käytetään erilaisten sovellusten luomiseen.

AWT:n komponentit ovat raskaasti painotettuja.



Java Swingin komponentit ovat kevyitä.

Komponentit ovat alustariippuvaisia.

Komponentit ovat alustariippumattomia.

Suoritusaika on enemmän kuin Swing.

Suoritusaika on lyhyempi kuin AWT.

AWT-komponentit vaativat java.awt-paketin.

Swing-komponentit vaativat javax.swing-paketin.

Lisätietoja aiheesta saat osoitteesta Java Swing vs Java AWT .

Mikä on JFC?

JFC tulee sanoista Java Foundation Classes. JFC on joukko GUI-komponentteja, jotka yksinkertaistavat työpöytäsovelluksia. Monet ohjelmoijat ajattelevat, että JFC ja Swing ovat yksi ja sama asia, mutta se ei ole niin. JFC sisältää Swingin [A UI komponenttipaketti] ja monia muita kohteita:

  • Leikkaa ja liitä: leikepöydän tuki.
  • Esteettömyysominaisuudet: Tarkoituksena on kehittää graafisia käyttöliittymiä vammaisille käyttäjille.
  • Desktop Colors -ominaisuudet esiteltiin ensimmäisen kerran Java 1.1:ssä
  • Java 2D: siinä on parannettu väri-, kuva- ja tekstituki.

Swing-luokan ominaisuudet

  • Kytkettävä ulkoasu ja tuntuma.
  • Käyttää MVC-arkkitehtuuria.
  • Kevyet komponentit
  • Alustasta riippumaton
  • Lisäominaisuudet, kuten JTable, JTabbedPane, JScollPane jne.
  • Java on alustasta riippumaton kieli ja toimii millä tahansa asiakaskoneella, alustakohtaisen käyttöliittymän omistama ja toimittama graafinen käyttöliittymä ei yksinkertaisesti vaikuta Swing-komponenteilla rakennettuun sovelluksen graafiseen käyttöliittymään.
  • Kevyet komponentit: Alkaen JDK 1.1:stä sen AWT-tuettu kevytkomponenttikehitys. Jotta komponentti olisi kevytpainoinen, se ei saa riippua muista kuin Java [O/s-pohjaisista) järjestelmäluokista. Swing-komponenteilla on oma näkemyksensä, jota tukevat Javan look and feel -luokat.
  • Kytkettävä ulkoasu ja tuntuma: Tämän ominaisuuden avulla käyttäjä voi vaihtaa Swing-komponenttien ulkoasua käynnistämättä sovellusta uudelleen. Swing-kirjasto tukee komponenttien ulkoasua ja tuntumaa, joka pysyy samana kaikilla alustoilla missä tahansa ohjelma toimii. Swing-kirjasto tarjoaa sovellusliittymän, joka antaa todellista joustavuutta määritettäessä sovelluksen graafisen käyttöliittymän ulkoasua ja tuntumaa
  • Hyvin muokattavissa – Swing-ohjaimet voidaan mukauttaa erittäin helposti, koska visuaalinen ulkoasu on riippumaton sisäisestä esityksestä.
  • Runsaat säätimet – Swing tarjoaa runsaan joukon edistyneitä säätimiä, kuten Tree TabbedPane, liukusäädin, värinvalitsin ja taulukon säätimet.

Swing-luokkien hierarkia

Swing-luokkien hierarkia

MVC-yhteys

  • Yleensä visuaalinen komponentti on yhdistelmä kolme erillistä näkökohtaa:
    1. Se, miltä komponentti näyttää, kun se esitetään näytöllä.
    2. Tapa, jolla komponentti reagoi käyttäjään.
    3. Komponenttiin liittyvät tilatiedot.
  • Vuosien saatossa yksi komponenttiarkkitehtuuri on osoittautunut poikkeuksellisen tehokkaaksi: – Malli-näkymä-ohjain tai MVC lyhyesti.
  • MVC-terminologiassa malli vastaa komponenttiin liittyvää tilatietoa.
  • The näkymä määrittää, miten komponentti näytetään näytöllä, mukaan lukien kaikki näkymän osat, joihin mallin nykyinen tila vaikuttaa.
  • The ohjain määrittää, kuinka komponentti reagoi käyttäjään.

Yksinkertaisimmilla Swing-komponenteilla on paljon AWT-komponentteja pidemmälle meneviä ominaisuuksia seuraavasti:

  • Swing-painikkeet ja tarrat voivat näyttää kuvia tekstin sijasta tai sen lisäksi.
  • Useimpien Swing-komponenttien reunat voidaan vaihtaa helposti. Esimerkiksi Swing-tarran ulkopuolelle on helppo laittaa 1 pikselin reunus.
  • Keinukomponenttien ei tarvitse olla suorakaiteen muotoisia. Esimerkiksi napit voivat olla pyöreitä.
  • Nyt Uusimmat Assertive-tekniikat, kuten näytönlukijat, voivat helposti saada tietoa Swing-komponenteista. Esimerkki: Näytönlukijatyökalu voi helposti kaapata Swing-painikkeessa tai tarrassa näkyvän tekstin.

Esimerkki Java Swing -ohjelmista

Esimerkki 1: Kehitä ohjelma käyttämällä tunnistetta (swing), joka näyttää viestin GFG WEB Site Click:

Java




math.pow java

// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }>

>

ohituslista

>

Lähtö:

Java Swing tulostaa viestin ja napsauta

Esimerkki 2: Kirjoita ohjelma kolmen painikkeen luomiseksi tekstillä OK, LÄHETÄ, PERUUTA.

Java




// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }>

>

>

Lähtö:

Lisää kehykseen painikkeita

Esimerkki 3: Ohjelma lisätä valintaruutu kehyksessä

Java


testaustyypit



// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }>

>

>

Lähtö:

Lisää valintaruutu kehykseen

Swing-luokan komponentit tehtävän prosenttiosuus

Luokka Kuvaus
Komponentti Komponentti on abstrakti perusluokka Java SWINGin ei-valikon käyttöliittymäohjaimille. Komponentit edustavat objektia graafisella esityksellä.
Säiliö Säiliö on komponentti, joka voi sisältää Java SWING -komponentteja
JComponent JComponent on perusluokka kaikille swing-käyttöliittymäkomponenteille Jotta voidaan käyttää JComponentista perivää swing-komponenttia, komponentin on oltava suojaushierarkiassa, jonka juurenpää on ylimmän tason Java Swing -säilö.
JLabel JLabel on objektikomponentti tekstin sijoittamiseen säilöön.
JButton Tämä luokka luo nimetyn painikkeen.
JColorChooser JColorChooser tarjoaa ohjauspaneelin, jonka avulla käyttäjä voi muokata ja valita väriä.
JCheckBox JCheckBox on graafinen (GUI) komponentti, joka voi olla joko päällä (tosi) tai off (false) -tilassa.
JRadioButton JRadioButton-luokka on graafinen (GUI) komponentti, joka voi olla joko päällä (tosi) tai off (false) -tilassa. ryhmässä
JList JList-komponentti edustaa käyttäjää vierittävällä tekstikohteiden luettelolla.
JComboBox JComboBox-komponentti esittelee käyttäjälle valintavalikon.
JTekstikenttä JTextField-objekti on tekstikomponentti, jonka avulla voidaan muokata yhtä tekstiriviä.
JPasswordField JPasswordField-objekti on salasanan syöttämiseen erikoistunut tekstikomponentti.
JTextArea JTextArea-objekti on tekstikomponentti, joka mahdollistaa useiden tekstirivien muokkaamisen.
Imagelcon ImageIcon-ohjain on Icon-käyttöliittymän toteutus, joka maalaa kuvakkeita kuvista
JScrollbar JScrollbar-ohjain edustaa vierityspalkkikomponenttia, jonka avulla käyttäjät voivat valita alueen arvoista.
JOptionPane JOptionPane tarjoaa joukon vakiovalintaikkunoita, jotka kehottavat käyttäjiä antamaan arvon tai jotain.
JFileChooser JFileChooser it Controls edustaa valintaikkunaa, josta käyttäjä voi valita tiedoston.
JProgressBar Kun tehtävä etenee kohti valmistumista, edistymispalkki näyttää tehtävien prosenttiosuuden sen valmistumisesta.
JSlides Tämän luokan JSlider antaa käyttäjän valita graafisesti (GUI) käyttämällä arvoa liu'uttamalla nuppia rajoitetun aikavälin sisällä.
JSpinner JSpinner tämä luokka on yksirivinen syöttö, jossa kenttä, jonka avulla käyttäjä voi valita käyttämällä numeroa tai objektiarvoa järjestetystä sekvenssistä.