logo

„Java Swing“ įvadas

Sūpynės yra Java Foundation Classes [JFC] biblioteka ir Abstract Window Toolkit [AWT] plėtinys. „Java Swing“ siūlo gerokai patobulintas AWT funkcijas, naujus komponentus, išplėstas komponentų funkcijas ir puikų įvykių tvarkymą su vilkimo ir nuleidimo palaikymu.

„Java Swing“ pristatymas

„Swing“ turi maždaug keturis kartus daugiau vartotojo sąsajos [UI] komponentų nei AWT ir yra standartinio „Java“ platinimo dalis. Pagal šiandienos taikomųjų programų GUI reikalavimus, AWT yra ribotas įgyvendinimas, ne visai pajėgus pateikti komponentų, reikalingų kuriant sudėtingas GUI, reikalingas šiuolaikinėms komercinėms programoms. AWT komponentų rinkinys turi nemažai klaidų ir užima daug sistemos išteklių, palyginti su lygiaverčiais „Swing“ ištekliais. Netscape pristatė savo Internet Foundation Classes [IFC] biblioteką, skirtą naudoti su Java. Jos klasės tapo labai populiarios tarp programuotojų, kuriančių GUI komercinėms programoms.



  • Swing yra API rinkinys (API – klasių ir sąsajų rinkinys)
  • „Swing“ yra skirtas grafinėms vartotojo sąsajoms kurti
  • Swing yra AWT (Abstract Window Toolkit) plėtinių biblioteka 17:00–17:30
  • Apima naujus ir patobulintus komponentus, kurie pagerino GUI išvaizdą ir funkcionalumą
  • „Swing“ gali būti naudojamas kuriant (kuriant) atskiras „swing“ GUI programas kaip serverius ir programėles
  • Jame naudojama modelio / vaizdo dizaino architektūra.
  • Swing yra nešiojamesnis ir lankstesnis nei AWT, Swing yra pastatytas ant AWT.
  • Swing yra visiškai parašyta Java.
  • „Java Swing“ komponentai yra nepriklausomi nuo platformos, o „Swing“ komponentai yra lengvi.
  • „Swing“ palaiko įjungiamą išvaizdą ir pojūtį, o „Swing“ suteikia galingesnių komponentų.
  • pvz., lentelės, sąrašai, slinkties juostos, spalvų parinkiklis, skydelis su skirtukais ir kt.
  • Tolesnis sūpynės seka MVC.

Skirtumas tarp Java Swing ir Java AWT

Yra tam tikrų taškų, kuriais „Java Swing“ skiriasi nuo „Java AWT“, kaip nurodyta toliau:

Java AWT

Java Swing



yra santykiai

Java AWT yra API, skirta kurti GUI programas Java.

„Swing“ yra „Java Foundation Classes“ dalis ir naudojama įvairioms programoms kurti.

AWT komponentai yra labai pasverti.



„Java Swing“ komponentai yra lengvi.

Komponentai priklauso nuo platformos.

Komponentai nepriklauso nuo platformos.

Vykdymo laikas yra daugiau nei Swing.

Vykdymo laikas yra trumpesnis nei AWT.

AWT komponentams reikalingas java.awt paketas.

Sūpynių komponentams reikalingas javax.swing paketas.

Norėdami sužinoti daugiau apie temą, žr Java Swing vs Java AWT .

Kas yra JFC?

JFC reiškia „Java Foundation Classes“. JFC yra GUI komponentų rinkinys, kuris supaprastina darbalaukio programas. Daugelis programuotojų mano, kad JFC ir Swing yra vienas ir tas pats dalykas, tačiau taip nėra. JFC yra Swing [A UI komponentų paketas] ir nemažai kitų elementų:

  • Iškirpti ir įklijuoti: iškarpinės palaikymas.
  • Prieinamumo funkcijos: skirtos kurti GUI naudotojams su negalia.
  • Darbalaukio spalvų funkcijos pirmą kartą buvo pristatytos Java 1.1 versijoje
  • Java 2D: patobulintos spalvos, vaizdai ir tekstas.

Sūpynių klasės ypatybės

  • Prijungiama išvaizda ir pojūtis.
  • Naudoja MVC architektūrą.
  • Lengvi komponentai
  • Nepriklausoma nuo platformos
  • Išplėstinės funkcijos, tokios kaip JTable, JTabbedPane, JScollPane ir kt.
  • „Java“ yra nuo platformos nepriklausoma kalba ir veikia bet kuriame kliento kompiuteryje, o GUI išvaizda ir pojūtis, priklausantis konkrečiai platformai O/S, tiesiog neturi įtakos programos GUI, sukurtai naudojant „Swing“ komponentus.
  • Lengvi komponentai: Pradedant nuo JDK 1.1, jo AWT palaikomo lengvo komponento kūrimo. Kad komponentas būtų laikomas lengvu, jis neturi priklausyti nuo jokių ne Java [O/s pagrįstų) sistemos klasių. „Swing“ komponentai turi savo vaizdą, kurį palaiko „Java“ išvaizdos ir pojūčių klasės.
  • Prijungiama išvaizda ir pojūtis: Ši funkcija leidžia vartotojui pakeisti „Swing“ komponentų išvaizdą ir jausmą nepaleidžiant programos iš naujo. „Swing“ biblioteka palaiko komponentų išvaizdą ir pojūtį, kuris išlieka toks pat visose platformose, kad ir kur programa veiktų. „Swing“ biblioteka suteikia API, kuri suteikia realaus lankstumo nustatant programos GUI išvaizdą ir pojūtį.
  • Labai pritaikoma – Sūpynių valdiklius galima pritaikyti labai paprastai, nes vaizdinė išvaizda nepriklauso nuo vidinio vaizdo.
  • Turtingi valdikliai – „Swing“ suteikia gausų pažangių valdiklių, tokių kaip „Tree TabbedPane“, slankiklį, spalvų rinkiklį ir lentelės valdiklius, rinkinį.

Sūpynių klasių hierarchija

Sūpynių klasių hierarchija

MVC ryšys

  • Apskritai vizualinis komponentas yra sudėtinis trys skirtingi aspektai:
    1. Tai, kaip komponentas atrodo, kai jis pateikiamas ekrane.
    2. Taip, kaip komponentas reaguoja į vartotoją.
    3. Su komponentu susijusi būsenos informacija.
  • Per daugelį metų vieno komponento architektūra pasirodė esanti išskirtinai efektyvi: – Modelis-View-Controller arba MVC trumpiau tariant.
  • Pagal MVC terminologiją, modelis atitinka būsenos informaciją, susietą su Komponentu.
  • The peržiūrėti nustato, kaip komponentas bus rodomas ekrane, įskaitant visus rodinio aspektus, kuriems įtakos turi dabartinė modelio būsena.
  • The valdiklis nustato, kaip komponentas reaguoja į vartotoją.

Paprasčiausi „Swing“ komponentai turi daug daugiau galimybių nei AWT komponentai:

  • Sūpynės mygtukai ir etiketės gali rodyti vaizdus vietoj teksto arba prie jo.
  • Aplink daugumą „Swing“ komponentų esančias kraštines galima lengvai pakeisti. Pavyzdžiui, „Swing“ etiketės išorėje lengva uždėti 1 pikselio kraštinę.
  • Sūpynių komponentai nebūtinai turi būti stačiakampiai. Pavyzdžiui, mygtukai gali būti apvalūs.
  • Dabar Naujausios Assertive technologijos, pvz., ekrano skaitytuvai, gali lengvai gauti informaciją iš „Swing“ komponentų. Pavyzdys: ekrano skaitytuvo įrankis gali lengvai užfiksuoti tekstą, rodomą ant mygtuko „Swing“ arba etiketės.

Java Swing programų pavyzdys

1 pavyzdys: Sukurkite programą naudodami etiketę (sūpynės), kad būtų rodomas pranešimas GFG WEB Site Click:

Java




kas yra išimčių tvarkymas 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>);> >}> }>

>

konvertuoti sveikąjį skaičių į java eilutę

>

Išvestis:

„Java Swing“, kad atsispausdintumėte pranešimą, ir spustelėkite

2 pavyzdys: parašykite programą, kuri sukurtų tris mygtukus su užrašu Gerai, PATEIKTI, ATŠAUKTI.

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(); }> }>

>

>

Išvestis:

Pridėkite mygtukus rėmelyje

konvertuoti eilutę į java

3 pavyzdys: Programa, skirta pridėti žymimąjį langelį rėmelyje

Java




// 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(); }> }>

>

>

Išvestis:

Pridėti žymimąjį langelį rėmelyje

Sūpynių klasės komponentai užduoties procentas

Klasė apibūdinimas
Komponentas Komponentas yra abstrakčioji pagrindinė klasė, skirta „Java SWING“ ne meniu vartotojo sąsajos valdikliams. Komponentai vaizduoja objektą su grafiniu vaizdu.
Konteineris Konteineris yra komponentas, galintis talpinti Java SWING komponentus
JComponent JComponent yra bazinė klasė visiems swing UI komponentams Norint naudoti swing komponentą, kuris paveldimas iš JComponent, komponentas turi būti saugojimo hierarchijoje, kurios šaknis yra aukščiausio lygio Java Swing konteineris.
JLabel JLabel yra objekto komponentas, skirtas tekstui įdėti į konteinerį.
JButton Ši klasė sukuria pažymėtą mygtuką.
JColorChooser JColorChooser yra valdiklių sritis, skirta leisti vartotojui manipuliuoti ir pasirinkti spalvą.
JCheckBox JCheckBox yra grafinis (GUI) komponentas, kurio būsena gali būti įjungta (teisinga) arba išjungta (klaidinga).
JRadioButton JRadioButton klasė yra grafinis (GUI) komponentas, kurio būsena gali būti įjungta (teisinga) arba išjungta (klaidinga). grupėje
JList JList komponentas žymi vartotoją su slenkančiu teksto elementų sąrašu.
JComboBox JComboBox komponentas pateikia vartotojui rodomą pasirinkimų meniu.
Jteksto laukas JTextField objektas yra teksto komponentas, leidžiantis redaguoti vieną teksto eilutę.
JPasswordField JPasswordField objektas yra tekstinis komponentas, skirtas slaptažodžiui įvesti.
JTextArea JTextArea objektas yra teksto komponentas, leidžiantis redaguoti kelias teksto eilutes.
Imagelcon „ImageIcon“ valdiklis yra „Icon“ sąsajos, kuri piešia piktogramas iš vaizdų, įgyvendinimas
JSlinkties juosta JScrollbar valdiklis yra slinkties juostos komponentas, kad vartotojai galėtų pasirinkti iš diapazono verčių.
JOptionPane JOptionPane pateikia standartinių dialogo langų rinkinį, kuriame vartotojai raginami įvesti reikšmę arba kažką.
JFileChooser JFileChooser it Controls yra dialogo langas, kuriame vartotojas gali pasirinkti failą.
JProgressBar Užduočiai artėjant į pabaigą, eigos juostoje rodomas jos atlikimo procentas.
JSlides Šios klasės JSlider leidžia vartotojui pasirinkti grafiškai (GUI) naudojant reikšmę, slenkant rankenėlę ribotu intervalu.
JSpinner Šios klasės JSpinner yra vienos eilutės įvestis, kurioje yra laukas, leidžiantis vartotojui pasirinkti naudojant skaičių arba objekto reikšmę iš užsakytos sekos.