Houpačka je knihovna Java Foundation Classes [JFC] a rozšíření sady Abstract Window Toolkit [AWT]. Java Swing nabízí mnohem vylepšenou funkcionalitu oproti AWT, nové komponenty, rozšířené funkce komponent a vynikající zpracování událostí s podporou drag-and-drop.
Představení Java Swing
Swing má asi čtyřikrát více komponent uživatelského rozhraní [UI] než AWT a je součástí standardní distribuce Java. Podle dnešních požadavků na GUI aplikací je AWT omezenou implementací, která není zcela schopná poskytnout komponenty potřebné pro vývoj komplexních GUI požadovaných v moderních komerčních aplikacích. Sada komponent AWT má několik chyb a zabírá mnoho systémových prostředků ve srovnání s ekvivalentními prostředky Swing. Netscape představil svou knihovnu Internet Foundation Classes [IFC] pro použití s Javou. Jeho třídy se staly velmi oblíbenými u programátorů vytvářejících GUI pro komerční aplikace.
- Swing je sada API (API – sada tříd a rozhraní)
- Swing je poskytován k návrhu grafického uživatelského rozhraní
- Swing je knihovna rozšíření k AWT (Abstract Window Toolkit) 17:00 – 17:30
- Obsahuje nové a vylepšené komponenty, které vylepšují vzhled a funkčnost GUI
- Swing lze použít k sestavení (vývoji) samostatných swingových GUI aplikací jako servletů a apletů
- Využívá architekturu návrhu modelu/pohledu.
- Swing je přenosnější a flexibilnější než AWT, Swing je postaven na vrcholu AWT.
- Swing je celý napsaný v Javě.
- Komponenty Java Swing jsou nezávislé na platformě a komponenty Swing jsou lehké.
- Swing Podporuje pluggable vzhled a dojem a Swing poskytuje výkonnější komponenty.
- jako jsou tabulky, seznamy, posuvníky, výběr barev, panel s kartami atd.
- Další swing následuje MVC.
Rozdíl mezi Java Swing a Java AWT
Existují určité body, ve kterých se Java Swing liší od Java AWT, jak je uvedeno níže:
| Java AWT | Java Swing pandy a numpy |
|---|---|
| Java AWT je API pro vývoj GUI aplikací v Javě. | Swing je součástí Java Foundation Classes a používá se k vytváření různých aplikací. |
| Komponenty AWT jsou těžké. | Komponenty Java Swing jsou lehké. |
| Komponenty jsou závislé na platformě. | Komponenty jsou nezávislé na platformě. |
| Doba provedení je více než Swing. | Doba provedení je kratší než AWT. |
| Komponenty AWT vyžadují balíček java.awt. | Komponenty Swing vyžadují balíček javax.swing. |
Chcete-li se o tématu dozvědět více, viz Java Swing vs Java AWT .
Co je JFC?
JFC je zkratka pro Java Foundation Classes. JFC je sada komponent GUI, které zjednodušují desktopové aplikace. Mnoho programátorů si myslí, že JFC a Swing jsou jedna a ta samá věc, ale není tomu tak. JFC obsahuje Swing [balíček komponent uživatelského rozhraní] a řadu dalších položek:
- Vyjmout a vložit: Podpora schránky.
- Funkce usnadnění: Zaměřeno na vývoj GUI pro uživatele se zdravotním postižením.
- Funkce barev plochy byly poprvé představeny v Javě 1.1
- Java 2D: má vylepšenou podporu barev, obrázků a textu.
Vlastnosti Swing Class
- Zapojitelný vzhled a dojem.
- Používá architekturu MVC.
- Lehké komponenty
- Nezávislá na platformě
- Pokročilé funkce jako JTable, JTabbedPane, JScollPane atd.
- Java je jazyk nezávislý na platformě a běží na jakémkoli klientském počítači, vzhled GUI, vlastněný a dodávaný platformou specifickým O/S, jednoduše neovlivňuje GUI aplikace vytvořené pomocí komponent Swing.
- Lehké komponenty: Počínaje JDK 1.1, jeho vývoj lehkých komponent podporovaný AWT. Aby se komponenta kvalifikovala jako odlehčená, nesmí záviset na žádné jiné systémové třídě než Java [O/s based). Komponenty Swing mají svůj vlastní pohled podporovaný třídami vzhledu a chování Java.
- Připojitelný vzhled a dojem: Tato funkce umožňuje uživateli přepínat vzhled a chování komponent Swing bez restartování aplikace. Knihovna Swing podporuje vzhled a chování komponent, které zůstávají stejné na všech platformách, kdekoli program běží. Knihovna Swing poskytuje API, které poskytuje skutečnou flexibilitu při určování vzhledu a chování GUI aplikace
- Vysoce přizpůsobitelné – Ovládací prvky swingu lze velmi snadno přizpůsobit, protože vizuální vzhled je nezávislý na vnitřní reprezentaci.
- Bohaté ovládání – Swing poskytuje bohatou sadu pokročilých ovládacích prvků, jako je Tree TabbedPane, posuvník, výběr barev a ovládací prvky tabulky.
Hierarchie tříd swingu

Připojení MVC
- Obecně je vizuální komponenta složena z tři odlišné aspekty:
- Způsob, jakým komponenta vypadá při vykreslení na obrazovce.
- Způsob, jakým komponenta reaguje na uživatele.
- Informace o stavu přidružené ke komponentě.
- V průběhu let se architektura jedné komponenty osvědčila jako mimořádně účinná: – Model-View-Controller nebo MVC ve zkratce.
- V terminologii MVC, Modelka odpovídá stavovým informacím spojeným s Komponentou.
- The Pohled určuje, jak se komponenta zobrazí na obrazovce, včetně všech aspektů pohledu, které jsou ovlivněny aktuálním stavem modelu.
- The ovladač určuje, jak komponenta reaguje na uživatele.
Nejjednodušší komponenty Swing mají možnosti daleko za komponenty AWT, a to následovně:
- Swing tlačítka a štítky mohou zobrazovat obrázky místo textu nebo navíc k němu.
- Okraje kolem většiny komponent Swing lze snadno změnit. Například je snadné umístit 1pixelový okraj kolem vnější strany štítku Swing.
- Swing komponenty nemusí být pravoúhlé. Kulaté mohou být například tlačítka.
- Nyní nejnovější asertivní technologie, jako jsou čtečky obrazovky, mohou snadno získat informace z komponent Swing. Příklad: Nástroj pro čtení z obrazovky může snadno zachytit text, který je zobrazen na tlačítku Swing nebo štítku.
Příklad Java Swing programů
Příklad 1: Vyviňte program pomocí štítku (swingu) k zobrazení zprávy GFG WEB Site Click:
Jáva
java výjimky
// 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ýstup:

Příklad 2: Napište program pro vytvoření tří tlačítek s nápisem OK, SUBMIT, CANCEL.
Jáva
mylivecricket
// 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ýstup:

Příklad 3: Program pro přidání zaškrtávacího políčka do rámce
Jáva
// 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(); }> }> |
shreya ghoshal
>
>
Výstup:

Komponenty Swingu Zařaďte procento úkolu
| Třída | Popis |
|---|---|
| Komponent | A Component je základní třída Abstract pro ovládací prvky uživatelského rozhraní Java SWING bez nabídky. Komponenty představují objekt s grafickým znázorněním. |
| Kontejner | Kontejner je komponenta, která může obsahovat komponenty Java SWING |
| JComponent | JComponent je základní třída pro všechny komponenty uživatelského rozhraní swing Aby bylo možné použít komponentu swing, která dědí z JComponent, komponenta musí být v hierarchii zadržování, jejímž kořenem je kontejner Java Swing nejvyšší úrovně. |
| JLabel | JLabel je objektová komponenta pro umístění textu do kontejneru. |
| JButton | Tato třída vytvoří označené tlačítko. |
| JColorChooser | JColorChooser poskytuje panel ovládacích prvků navržený tak, aby uživateli umožňoval manipulovat a vybírat barvu. |
| JCheckBox | JCheckBox je grafická komponenta (GUI), která může být ve stavu zapnuto-(pravda) nebo vypnuto-(nepravda). |
| JRadioButton | Třída JRadioButton je grafická (GUI) komponenta, která může být ve stavu on-(true) nebo off-(false). ve skupině |
| JList | Komponenta JList představuje uživatele s rolovacím seznamem textových položek. |
| JComboBox | Komponenta JComboBox představuje uživateli zobrazení nabídky možností. |
| JTextField | Objekt JTextField je textová komponenta, která umožní editaci jednoho řádku textu. |
| JPasswordField | Objekt JPasswordField je textová komponenta specializovaná na zadávání hesla. |
| JTextArea | Objekt JTextArea je textová komponenta, která umožňuje úpravu více řádků textu. |
| Imagelcon | Ovládací prvek ImageIcon je implementace rozhraní ikon, které maluje ikony z obrázků |
| JScrollbar | Ovládací prvek JScrollbar představuje komponentu posuvníku, která uživatelům umožňuje vybírat z hodnot rozsahu. |
| JOptionPane | JOptionPane poskytuje sadu standardních dialogových oken, která uživatele vyzve k zadání hodnoty nebo něčeho. |
| JFileChooser | JFileChooser it Controls představuje dialogové okno, ze kterého může uživatel vybrat soubor. |
| JProgressBar | Jak úkol postupuje k dokončení, indikátor průběhu zobrazuje procento úkolů při jeho dokončení. |
| JSlides | JSlider této třídy umožňuje uživateli graficky (GUI) vybrat pomocí hodnoty posunutím knoflíku v ohraničeném intervalu. |
| JSpinner | JSpinner této třídy je jednořádkový vstup, kde pole umožňuje uživateli vybrat pomocí čísla nebo hodnoty objektu z uspořádané sekvence. |