logo

Inleiding tot Java Swing

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

Hiërarchie van swingklassen

De MVC-verbinding

  • Over het algemeen is een visuele component een samenstelling van drie verschillende aspecten:
    1. De manier waarop de component eruitziet wanneer deze op het scherm wordt weergegeven.
    2. De manier waarop het onderdeel op de gebruiker reageert.
    3. 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:

Java Zwaai om het bericht af te drukken en klik

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:

Knoppen toevoegen aan het frame

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:

Voeg een selectievakje toe aan het frame

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.