Schommel is een Java Foundation Classes [JFC]-bibliotheek en een uitbreiding van de Abstract Window Toolkit [AWT]. Java Swing biedt veel verbeterde functionaliteit ten opzichte van AWT, nieuwe componenten, uitgebreide componentfuncties en uitstekende gebeurtenisafhandeling met ondersteuning voor slepen en neerzetten.
Introductie van Java Swing
Swing heeft ongeveer vier keer zoveel User Interface [UI]-componenten als AWT en maakt deel uit van de standaard Java-distributie. Volgens de hedendaagse GUI-vereisten voor toepassingen is AWT een beperkte implementatie, die niet helemaal in staat is om de componenten te leveren die nodig zijn voor het ontwikkelen van complexe GUI's die nodig zijn in moderne commerciële toepassingen. De AWT-componentenset bevat nogal wat bugs en neemt veel systeembronnen in beslag in vergelijking met gelijkwaardige Swing-bronnen. Netscape introduceerde zijn Internet Foundation Classes [IFC] -bibliotheek voor gebruik met Java. De klassen werden erg populair bij programmeurs die GUI's voor commerciële toepassingen maakten.
- Swing is een set API's (API-set van klassen en interfaces)
- Swing wordt geleverd om grafische gebruikersinterfaces te ontwerpen
- Swing is een uitbreidingsbibliotheek voor de AWT (Abstract Window Toolkit) 17.00 – 17.30 uur
- Bevat nieuwe en verbeterde componenten die het uiterlijk en de functionaliteit van GUI's hebben verbeterd
- Swing kan worden gebruikt voor het bouwen (ontwikkelen) van de zelfstandige swing GUI-apps als servlets en applets
- Het maakt gebruik van model/view-ontwerparchitectuur.
- Swing is draagbaarder en flexibeler dan AWT, de Swing is bovenop de AWT gebouwd.
- Swing is volledig in Java geschreven.
- Java Swing-componenten zijn platformonafhankelijk en de Swing-componenten zijn licht van gewicht.
- Swing ondersteunt een plug-in look en feel en Swing biedt krachtigere componenten.
- zoals tabellen, lijsten, schuifpanelen, kleurenkiezer, venster met tabbladen, enz.
- Verdere swing volgt MVC.
Verschil tussen Java Swing en Java AWT
Er zijn bepaalde punten waarop Java Swing anders is dan Java AWT, zoals hieronder vermeld:
| Java AWT | Java-zwaai Java-structuur |
|---|---|
| Java AWT is een API om GUI-applicaties in Java te ontwikkelen. | Swing is een onderdeel van Java Foundation Classes en wordt gebruikt om verschillende applicaties te maken. |
| Componenten van AWT zijn zwaar gewogen. | De componenten van Java Swing zijn lichtgewicht. |
| Componenten zijn platformafhankelijk. | Componenten zijn platformonafhankelijk. |
| Uitvoeringstijd is meer dan Swing. | Uitvoeringstijd is minder dan AWT. |
| Voor AWT-componenten is het java.awt-pakket vereist. | Swing-componenten vereisen het javax.swing-pakket. |
Voor meer informatie over het onderwerp, zie Java Swing versus Java AWT .
Wat is JFC?
JFC staat voor Java Foundation Classes. JFC is de set GUI-componenten die desktopapplicaties vereenvoudigen. Veel programmeurs denken dat JFC en Swing één en hetzelfde zijn, maar dat is niet zo. JFC bevat Swing [een UI-componentpakket] en een flink aantal andere items:
- Knippen en plakken: Klembordondersteuning.
- Toegankelijkheidsfuncties: gericht op het ontwikkelen van GUI's voor gebruikers met een handicap.
- De Desktop Colors-functies werden voor het eerst geïntroduceerd in Java 1.1
- Java 2D: het heeft verbeterde kleuren, afbeeldingen en tekstondersteuning.
Kenmerken van de swingklasse
- Inplugbare look en feel.
- Maakt gebruik van MVC-architectuur.
- Lichtgewicht componenten
- Platformonafhankelijk
- Geavanceerde functies zoals JTable, JTabbedPane, JScollPane, enz.
- Java is een platformonafhankelijke taal en draait op elke clientcomputer. De GUI-look en feel, eigendom van en geleverd door een platformspecifiek besturingssysteem, heeft eenvoudigweg geen invloed op de GUI van een applicatie die is opgebouwd met behulp van Swing-componenten.
- Lichtgewicht componenten: Te beginnen met de JDK 1.1, de door AWT ondersteunde ontwikkeling van lichtgewicht componenten. Om als lichtgewicht te kunnen kwalificeren, mag een component niet afhankelijk zijn van niet-Java [O/s-gebaseerde) systeemklassen. Swing-componenten hebben hun eigen weergave, ondersteund door de look-and-feel-klassen van Java.
- Insteekbaar uiterlijk en gevoel: Met deze functie kan de gebruiker het uiterlijk van Swing-componenten wijzigen zonder een applicatie opnieuw te starten. De Swing-bibliotheek ondersteunt de look en feel van componenten die op alle platforms hetzelfde blijven, waar het programma ook draait. De Swing-bibliotheek biedt een API die echte flexibiliteit biedt bij het bepalen van het uiterlijk van de GUI van een applicatie
- Zeer aanpasbaar – De zwenkbedieningen kunnen op een zeer eenvoudige manier worden aangepast, omdat het uiterlijk onafhankelijk is van de interne representatie.
- Rijke bedieningselementen – Swing biedt een uitgebreide reeks geavanceerde besturingselementen, zoals Tree TabbedPane, schuifregelaar, kleurenkiezer en tabelbesturingselementen.
Hiërarchie van swingklassen

De MVC-verbinding
- Over het algemeen is een visuele component een samenstelling van drie verschillende aspecten:
- De manier waarop de component eruitziet wanneer deze op het scherm wordt weergegeven.
- De manier waarop het onderdeel op de gebruiker reageert.
- De statusinformatie die aan het onderdeel is gekoppeld.
- Door de jaren heen heeft één-componentarchitectuur bewezen uitzonderlijk effectief te zijn: – Model-View-Controller of MVC in het kort.
- In MVC-terminologie betekent de model komt overeen met de statusinformatie die bij de component hoort.
- De weergave bepaalt hoe de component op het scherm wordt weergegeven, inclusief eventuele aspecten van de weergave die worden beïnvloed door de huidige status van het model.
- De controleur bepaalt hoe het onderdeel reageert op de gebruiker.
De eenvoudigste Swing-componenten hebben mogelijkheden die veel verder gaan dan AWT-componenten:
- Swing-knoppen en labels kunnen afbeeldingen weergeven in plaats van of naast tekst.
- De randen rond de meeste Swing-componenten kunnen eenvoudig worden gewijzigd. Het is bijvoorbeeld eenvoudig om een rand van 1 pixel rond de buitenkant van een Swing-label te plaatsen.
- Schommelcomponenten hoeven niet rechthoekig te zijn. Knopen kunnen bijvoorbeeld rond zijn.
- Nu kunnen de nieuwste assertieve technologieën zoals schermlezers eenvoudig informatie uit Swing-componenten halen. Voorbeeld: Een schermlezer kan eenvoudig de tekst vastleggen die op een Swing-knop of label wordt weergegeven.
Voorbeeld van Java Swing-programma's
Voorbeeld 1: Ontwikkel een programma met behulp van label (swing) om het bericht GFG WEB Site weer te geven Klik op:
Java
bharti jha
// 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>);> >}> }> |
cast sql
>
>
Uitgang:

Voorbeeld 2: Schrijf een programma om drie knoppen te maken met de titel OK, VERZENDEN, ANNULEREN.
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(); }> }> |
>
>
Uitgang:

Voorbeeld 3: Programma om selectievakjes in het frame toe te voegen
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(); }> }> |
java elseif
>
>
Uitgang:

Onderdelen van Swing Class het percentage van de taak
| Klas | Beschrijving |
|---|---|
| Onderdeel | Een component is de abstracte basisklasse voor ongeveer de niet-menu-gebruikersinterfacebesturingselementen van Java SWING. Componenten vertegenwoordigen een object met een grafische weergave. |
| Houder | Een container is een component die Java SWING-componenten kan bevatten |
| JComponent | Een JComponent is een basisklasse voor alle swing-UI-componenten. Om een swing-component te kunnen gebruiken die overerft van JComponent, moet de component zich in een containment-hiërarchie bevinden waarvan de root een Java Swing-container op het hoogste niveau is. |
| JLabel | Een JLabel is een objectcomponent voor het plaatsen van tekst in een container. |
| JKnop | Deze klasse maakt een gelabelde knop. |
| JColorChooser | Een JColorChooser biedt een paneel met besturingselementen waarmee de gebruiker een kleur kan manipuleren en selecteren. |
| JCheckBox | Een JCheckBox is een grafische (GUI) component die zich in de aan-(waar) of uit-(onwaar)-status kan bevinden. |
| JRadioknop | De klasse JRadioButton is een grafische component (GUI) die zich in de status aan (waar) of uit (onwaar) kan bevinden. in de groep |
| JLijst | Een JList-component vertegenwoordigt de gebruiker met de schuiflijst met tekstitems. |
| JComboBox | Een JComboBox-component presenteert de gebruiker een menu met keuzes. |
| JTextVeld | Een JTextField-object is een tekstcomponent waarmee een enkele regel tekst kan worden bewerkt. |
| JWachtwoordVeld | Een JPasswordField-object, het is een tekstcomponent die gespecialiseerd is in het invoeren van wachtwoorden. |
| JTextArea | Een JTextArea-object is een tekstcomponent waarmee meerdere tekstregels kunnen worden bewerkt. |
| Afbeeldinglcon | Een ImageIcon-besturingselement is een implementatie van de Icon-interface die pictogrammen uit afbeeldingen tekent |
| JScrollbalk | Een JScrollbar-besturingselement vertegenwoordigt een schuifbalkcomponent waarmee gebruikers kunnen selecteren uit bereikwaarden. |
| JOptionPaan | JOptionPane biedt een reeks standaarddialoogvensters waarin gebruikers om een waarde of Iets worden gevraagd. |
| JBestandkiezer | Een JFileChooser it Controls vertegenwoordigt een dialoogvenster waarin de gebruiker een bestand kan selecteren. |
| JVoortgangsbalk | Naarmate de taak de voltooiing nadert, geeft de voortgangsbalk het percentage van de taak weer waarop deze is voltooid. |
| JDia's | Een JSlider van deze klasse laat de gebruiker grafisch (GUI) selecteren door een waarde te gebruiken door een knop binnen een begrensd interval te verschuiven. |
| JSpinner | Een JSpinner van deze klasse is een enkele regelinvoer waarin het veld de gebruiker laat selecteren door een getal of een objectwaarde uit een geordende reeks te gebruiken. |