Úvod do Java Swing
Hojdačka je knižnica Java Foundation Classes [JFC] a rozšírenie Abstract Window Toolkit [AWT]. Java Swing ponúka oveľa vylepšenú funkčnosť oproti AWT, nové komponenty, rozšírené funkcie komponentov a vynikajúce spracovanie udalostí s podporou drag-and-drop.
Predstavenie Java Swing
Swing má približne štvornásobný počet komponentov používateľského rozhrania [UI] ako AWT a je súčasťou štandardnej distribúcie Java. Podľa dnešných požiadaviek GUI aplikácií je AWT obmedzenou implementáciou, ktorá nie je celkom schopná poskytnúť komponenty potrebné na vývoj zložitých GUI požadovaných v moderných komerčných aplikáciách. Sada komponentov AWT má pomerne málo chýb a v porovnaní s ekvivalentnými zdrojmi Swing zaberá veľa systémových prostriedkov. Netscape predstavil svoju knižnicu Internet Foundation Classes [IFC] na použitie s Javou. Jeho triedy sa stali veľmi obľúbenými u programátorov vytvárajúcich GUI pre komerčné aplikácie.
- Swing je sada API (API – sada tried a rozhraní)
- Swing sa poskytuje na navrhovanie grafických používateľských rozhraní
- Swing je knižnica rozšírenia AWT (Abstract Window Toolkit) 17:00 – 17:30
- Obsahuje nové a vylepšené komponenty, ktoré vylepšujú vzhľad a funkčnosť GUI
- Swing je možné použiť na zostavenie (vývoj) samostatných GUI aplikácií swing ako servletov a apletov
- Využíva architektúru dizajnu modelu/zobrazenia.
- Swing je prenosnejší a flexibilnejší ako AWT, hojdačka je postavená na vrchu AWT.
- Swing je celý napísaný v Jave.
- Komponenty Java Swing sú nezávislé od platformy a komponenty Swing sú ľahké.
- Swing Podporuje pripojiteľný vzhľad a dojem a Swing poskytuje výkonnejšie komponenty.
- ako sú tabuľky, zoznamy, rolovacie panely, výber farieb, tabla s kartami atď.
- Ďalší Swing Nasleduje MVC.
Rozdiel medzi Java Swing a Java AWT
Existujú určité body, v ktorých sa Java Swing líši od Java AWT, ako je uvedené nižšie:
| Java AWT | Java Swing |
|---|---|
| Java AWT je API na vývoj GUI aplikácií v Jave. | Swing je súčasťou Java Foundation Classes a používa sa na vytváranie rôznych aplikácií. |
| Komponenty AWT sú ťažké. | Komponenty Java Swing sú ľahké. |
| Komponenty sú závislé od platformy. | Komponenty sú nezávislé na platforme. |
| Čas vykonania je viac ako Swing. | Čas vykonania je kratší ako AWT. |
| Komponenty AWT vyžadujú balík java.awt. | Komponenty Swing vyžadujú balík javax.swing. |
Ak sa chcete dozvedieť viac o téme, pozrite si Java Swing vs Java AWT .
čo je JFC?
JFC je skratka pre Java Foundation Classes. JFC je sada komponentov GUI, ktoré zjednodušujú desktopové aplikácie. Mnoho programátorov si myslí, že JFC a Swing sú jedna a tá istá vec, ale nie je to tak. JFC obsahuje Swing [balíček komponentov používateľského rozhrania] a množstvo ďalších položiek:
- Vystrihnúť a prilepiť: Podpora schránky.
- Funkcie prístupnosti: Zamerané na vývoj GUI pre používateľov so zdravotným postihnutím.
- Funkcie farieb pracovnej plochy boli prvýkrát predstavené v jazyku Java 1.1
- Java 2D: má vylepšenú podporu farieb, obrázkov a textu.
Vlastnosti triedy Swing
- Zásuvný vzhľad a dojem.
- Používa architektúru MVC.
- Ľahké komponenty
- Nezávislá platforma
- Pokročilé funkcie ako JTable, JTabbedPane, JScollPane atď.
- Java je platformovo nezávislý jazyk a beží na akomkoľvek klientskom počítači, vzhľad GUI, vlastnený a dodávaný operačným systémom špecifickým pre platformu, jednoducho neovplyvňuje GUI aplikácie vytvorené pomocou komponentov Swing.
- Ľahké komponenty: Počnúc verziou JDK 1.1, vývojom ľahkých komponentov podporovaných AWT. Aby sa komponent kvalifikoval ako ľahký, nesmie závisieť od žiadnej triedy systému, ktorá nie je založená na Java [O/s based). Komponenty Swing majú svoj vlastný pohľad podporovaný triedami vzhľadu a prostredia Java.
- Zapojiteľný vzhľad a dojem: Táto funkcia umožňuje používateľovi prepínať vzhľad a dojem komponentov Swing bez reštartovania aplikácie. Knižnica Swing podporuje vzhľad a dojem komponentov, ktoré zostávajú rovnaké na všetkých platformách bez ohľadu na to, kde program beží. Knižnica Swing poskytuje API, ktoré poskytuje skutočnú flexibilitu pri určovaní vzhľadu a prostredia GUI aplikácie
- Vysoko prispôsobiteľné – Ovládanie výkyvu je možné prispôsobiť veľmi jednoduchým spôsobom, pretože vizuálny vzhľad je nezávislý od vnútornej reprezentácie.
- Bohaté ovládanie – Swing poskytuje bohatú sadu pokročilých ovládacích prvkov, ako sú Tree TabbedPane, posuvník, výber farieb a ovládacie prvky tabuľky.
Hierarchia tried swingu
Pripojenie MVC
- Vo všeobecnosti je vizuálna zložka zložená z tri odlišné aspekty:
- Spôsob, akým komponent vyzerá pri vykreslení na obrazovke.
- Spôsob, akým komponent reaguje na používateľa.
- Informácie o stave priradené ku komponentu.
- V priebehu rokov sa architektúra jedného komponentu ukázala ako mimoriadne efektívna: – Model-View-Controller alebo MVC v skratke.
- V terminológii MVC, Model zodpovedá informáciám o stave spojenom s Komponentom.
- The vyhliadka určuje, ako sa komponent zobrazí na obrazovke, vrátane všetkých aspektov zobrazenia, ktoré sú ovplyvnené aktuálnym stavom modelu.
- The ovládač určuje, ako komponent reaguje na používateľa.
Najjednoduchšie komponenty Swing majú schopnosti ďaleko presahujúce komponenty AWT takto:
- Swing tlačidlá a štítky môžu zobrazovať obrázky namiesto textu alebo ako doplnok k nemu.
- Okraje okolo väčšiny komponentov Swing možno ľahko zmeniť. Napríklad je ľahké umiestniť 1-pixelový okraj okolo vonkajšej strany štítku Swing.
- Komponenty hojdačky nemusia byť pravouhlé. Guľaté môžu byť napríklad gombíky.
- Teraz najnovšie asertívne technológie, ako sú čítačky obrazovky, môžu ľahko získať informácie z komponentov Swing. Príklad: Nástroj na čítanie obrazovky môže jednoducho zachytiť text, ktorý sa zobrazuje na tlačidle Swing alebo štítku.
Príklad programov Java Swing
Príklad 1: Vytvorte program pomocou štítka (hojdačka) na zobrazenie správy GFG WEB Site Click:
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> );> > }> }> |
Výkon:
Príklad 2: Napíšte program na vytvorenie troch tlačidiel s nápisom OK, SUBMIT, CANCEL.
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(); }> }> |
Výkon:
Príklad 3: Program na pridanie zaškrtávacieho políčka do rámca
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(); }> }> |
Výkon:
Komponenty Swingu Zaraďte percento úlohy
| Trieda | Popis |
|---|---|
| Komponent | A Component je abstraktná základná trieda pre ovládacie prvky používateľského rozhrania Java SWING bez ponuky. Komponenty predstavujú objekt s grafickým znázornením. |
| Kontajner | Kontajner je komponent, ktorý môže obsahovať komponenty Java SWING |
| JComponent | JComponent je základná trieda pre všetky komponenty používateľského rozhrania swing Aby bolo možné použiť komponent swing, ktorý zdedí z JComponent, komponent musí byť v hierarchii uzavretia, ktorej koreň je kontajner Java Swing najvyššej úrovne. |
| JLabel | JLabel je objektový komponent na umiestnenie textu do kontajnera. |
| JButton | Táto trieda vytvorí označené tlačidlo. |
| JColorChooser | JColorChooser poskytuje panel ovládacích prvkov navrhnutých tak, aby umožňovali používateľovi manipulovať a vyberať farbu. |
| JCheckBox | JCheckBox je grafický komponent (GUI), ktorý môže byť v zapnutom (pravdivom) alebo vypnutom (nepravdivom) stave. |
| JRadioButton | Trieda JRadioButton je grafický komponent (GUI), ktorý môže byť v stave zapnutý-(pravda) alebo vypnutý-(nepravda). v skupine |
| JList | Komponent JList predstavuje používateľa s rolovacím zoznamom textových položiek. |
| JComboBox | Komponent JComboBox predstavuje používateľovi zobrazenie ponuky možností. |
| JTextField | Objekt JTextField je textový komponent, ktorý umožňuje úpravu jedného riadku textu. |
| JPasswordField | Objekt JPasswordField je textový komponent špecializovaný na zadávanie hesla. |
| JTextArea | Objekt JTextArea je textový komponent, ktorý umožňuje úpravu viacerých riadkov textu. |
| Imagelcon | Ovládací prvok ImageIcon je implementácia rozhrania ikon, ktoré maľuje ikony z obrázkov |
| JScrollbar | Ovládací prvok JScrollbar predstavuje komponent posúvača, ktorý používateľom umožňuje vybrať hodnoty z rozsahu. |
| JOptionPane | JOptionPane poskytuje sadu štandardných dialógových okien, ktoré vyzývajú používateľov na zadanie hodnoty alebo niečoho. |
| JFileChooser | JFileChooser it Controls predstavuje dialógové okno, z ktorého môže používateľ vybrať súbor. |
| JProgressBar | Ako úloha postupuje smerom k dokončeniu, indikátor priebehu zobrazuje percento úloh po dokončení. |
| JSlides | JSlider tejto triedy umožňuje používateľovi graficky (GUI) vybrať pomocou hodnoty posunutím gombíka v rámci ohraničeného intervalu. |
| JSpinner | JSpinner tejto triedy je jednoriadkový vstup, kde pole, ktoré umožňuje užívateľovi vybrať pomocou čísla alebo hodnoty objektu z usporiadanej sekvencie. |