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

MVC-yhteys
- Yleensä visuaalinen komponentti on yhdistelmä kolme erillistä näkökohtaa:
- Se, miltä komponentti näyttää, kun se esitetään näytöllä.
- Tapa, jolla komponentti reagoi käyttäjään.
- 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ö:

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ö:

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ö:

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ä. |