Java AWT-zelfstudie - One-stop-oplossing voor beginners



Dit artikel over Java AWT-zelfstudie geeft u een kort inzicht in de verschillende fundamentele concepten die u moet kennen voordat u aan de slag gaat met Java GUI.

Java bestaat al geruime tijd in de branche. Het heeft zijn wortels diep in verschillende domeinen van de programmeerwereld, of het nu gaat om een ​​webapplicatie, mobiele applicatie of embedded systemen. Zelfs als je het hebt over GUI-programmering, biedt een uitgebreide reeks bibliotheken voor het ontwikkelen van zeer interactieve GUI's die zijn verpakt in AWT API. In deze Java AWT-zelfstudie zal ik u een korte inleiding geven, samen met de componenten ervan.

Hieronder staan ​​de onderwerpen die in deze Java AWT-zelfstudie worden behandeld:





Laten we beginnen.

Wat is AWT in Java?

Abstract Window Toolkit afgekort als AWT is eentoolkit van klassen in Java dat een programmeur helpt om grafische en grafische gebruikersinterfacecomponenten te ontwikkelen. Het is een onderdeel van JFC (Java Foundation Classes) ontwikkeld door Sun Microsystems. De AWT API in Java bestaat voornamelijk uit een uitgebreide reeks klassen en methoden die nodig zijn om de grafische gebruikersinterface (GUI) op een vereenvoudigde manier te creëren en te beheren. Het is ontwikkeld om een ​​gemeenschappelijke set tools te bieden voor het ontwerpen van de platformonafhankelijke GUI's. Een van de belangrijke kenmerken van AWT is dat het platformafhankelijk is. Dit betekent dat de AWT-tools de native toolkits gebruiken van de platforms waarop ze worden geïmplementeerd. Deze aanpak helptmet behoud van de look en feel van elk platform. Maar zoals gezegd heeft alles een prijs, er is een groot nadeel aan deze aanpak. Wanneer uitgevoerd op verschillende platforms vanwege platformafhankelijkheid, ziet het er op elk platform anders uit. Dit belemmert de consistentie en esthetiek van een applicatie.



Behalve dat ze platformafhankelijk zijn, zijn er verschillende andere kenmerken van AWT-klassen waarover ik het in de volgende sectie van deze Java AWT-zelfstudie zal hebben.

Kenmerken van AWT in Java

  • AWT is een set van native user koppel componenten
  • Het is gebaseerd op een robuust model voor het afhandelen van gebeurtenissen
  • Het biedt grafische en afbeeldingshulpmiddelen, zoals vorm-, kleur- en lettertypeklassen
  • AWT beschikt ook over lay-outmanagers die helpen bij het vergroten van de flexibiliteit van de vensterlay-outs
  • Gegevensoverdrachtklassen zijn ook een onderdeel van AWT dat helpt bij het knippen en plakken via het native platformklembord
  • Ondersteunt een breed scala aan bibliotheken die nodig zijn voor het maken vanafbeeldingen voor spelproducten, bankdiensten, educatieve doeleinden, enz.

Nu u bekend bent met de verschillende functies van AWT, wil ik de aspecten van GUI introduceren in de volgende sectie van deze Java AWT-zelfstudie.

AWT UI-aspecten

Elke gebruikersinterface bestaat uit drie entiteiten:



  • UI-elementen : Dit verwijst naar de visuele kernelementen die zichtbaar zijn voor de gebruiker en die worden gebruikt voor interactie met de applicatie. AWT in Java biedt een uitgebreide lijst met veelgebruikte en veelgebruikte elementen.
  • Indelingen : Deze bepalen hoe UI-elementen op het scherm worden georganiseerd en geven de uiteindelijke look en feel aan de GUI.
  • Gedrag : Deze definiëren de gebeurtenissen die moeten plaatsvinden wanneer een gebruiker interactie heeft met UI-elementen.

ikhoop, je hebt nu een kort idee over AWT en wat is de rol ervan in elke toepassing. In de volgende sectie van deze Java AWT-zelfstudie zal ik wat licht werpen op de volledige AWT-hiërarchie.

Hiërarchie van AWT

hoe anaconda voor python te gebruiken

AWT-hiërarchie - Java AWT-zelfstudie - EdurekaZoals je in het bovenstaande diagram kunt zien, is Component de superklasse van alle GUI-besturingselementen. Het is een abstracte klasse dieomvat alle attributen van een visuele component envertegenwoordigt een object met grafische weergave. Een instantie van een componentklasse is in principe verantwoordelijk voor het uiterlijk en het gevoel van de huidige interface.

Hieronder heb ik de algemene klassebeschrijving van weergegevenjava.awt.Component:

openbare abstracte klasse Component breidt uit Object implementeert ImageObserver, MenuContainer, Serializable {// class body}

AWT-componenten

1. Containers

Container in Java AWT is een component die wordt gebruikt om andere componenten te bevatten, zoals tekstvelden, knoppen, enz. Het is een subklasse vanjava.awt.Component en is verantwoordelijk voor het bijhouden van de componenten die worden toegevoegd.Er zijn vier soorten containers die door AWT in Java worden geleverd.

Soorten containers

  1. Venster : Het is een instantie van de Window-klasse zonder rand of titel. Het wordt gebruikt om eenvenster op het hoogste niveau.
  2. Kader : Frame is een subklasse van Venster en bevat titel-, rand- en menubalken. Het wordt geleverd met een canvas voor formaatwijziging en is de meest gebruikte container voor het ontwikkelen van AWT-toepassingen. Het kan verschillende componenten bevatten, zoals knoppen, tekstvelden, schuifbalken, enz.U kunt op twee manieren een Java AWT-frame maken:
    1. Door Frame-klasse te instantiëren
    2. Door de Frame-klasse uit te breiden
  3. Dialoog: Dialoogklasse is ook een subklasse van Venster en wordt geleverd met zowel de rand als de titel. De instantie van de Dialog-klasse heeft altijd een bijbehorende instantie van de Frame-klasse nodig.
  4. Paneel : Paneel is de concrete subklasse van Container en bevat geen titelbalk, menubalk of rand. Paneelklasse is een algemene container voor de GUI-componenten. U hebt de instantie van de klasse Panel nodig om de componenten toe te voegen.

Dat was alles over de container en zijn typen, laten we nu verder gaan in dit Java AWT Tutorial-artikel en leren over de rest van de componenten.

2. Knop

De klasse java.awt.Button wordt gebruikt om een ​​gelabelde knop te maken. GUI-component die een bepaald geprogrammeerd actie door erop te klikken. De klasse Button heeft er twee constructeurs :

// Construct een knop met het gegeven label public Button (String btnLabel) // Construeer een knop met een leeg label public Button ()

Een paar van de methoden die door deze klasse worden geboden, zijn hieronder opgesomd:

// Haal het label van deze Button-instantie public String getLabel () // Stel het label van deze Button-instantie in public void setLabel (String btnLabel) // Schakel deze knop in of uit. Uitgeschakelde knop kan niet worden aangeklikt public void setEnable (boolean inschakelen)

3. Tekstveld

NAARjava.awt.TextFieldclass maakt een tekstvak van één regel aan waarin gebruikers teksten kunnen invoeren. De klasse TextField heeft drie constructors die zijn:

// Construeer een TextField-instantie met de opgegeven initiële tekstreeks met het aantal kolommen. public TextField (String initialText, int columns) // Construeer een TextField-instantie met de opgegeven initiële tekstreeks. public TextField (String initialText) // Construeer een TextField-instantie met het aantal kolommen. openbaar TextField (int kolommen)

Een paar van de methoden die door de TextField-klasse worden geboden, zijn:

// Haal de huidige tekst op deze TextField-instantie public String getText () // Stel de weergavetekst in op deze TextField-instantie public void setText (String strText) // Stel dit TextField in op bewerkbaar (lezen / schrijven) of niet-bewerkbaar (lees -alleen) public void setEditable (Boolean bewerkbaar)

4. Label

De klasse java.awt.Label biedt een beschrijvende tekstreeks die zichtbaar is in de GUI. Een AWT Label-object is een component voor het plaatsen van tekst in een container. Labelklasse heeft drie constructeurs welke zijn:

// Construeer een label met de gegeven tekst String, van de text alignment public Label (String strLabel, int alignment) // Construeer een Label met de gegeven tekst String public Label (String strLabel) // Construeer een aanvankelijk leeg Label public Label ( )

Deze klasse biedt ook 3 constanten die zijn:

public static final LEFT // Label.LEFT public static final RIGHT // Label.RIGHT public static final CENTER // Label.CENTER

Hieronder heb ik de openbare methoden opgesomd die door deze klasse worden geboden:

public String getText () public void setText (String strLabel) public int getAlignment () //Label.LEFT, Label.RIGHT, Label.CENTER public void setAlignment (int alignment)

5. Doek

Een Canvas-klasse vertegenwoordigt het rechthoekige gebied waar u in een toepassing kunt tekenen of invoer kunt ontvangen die door de gebruiker is gemaakt.

6. Keuze

Keuzeklasse wordt gebruikt om een ​​pop-upmenu met keuzes weer te geven. De geselecteerde keuze wordt bovenaan het gegeven menu weergegeven.

7. Schuifbalk

Het klasseobject Scrollbar wordt gebruikt om een ​​horizontale en verticale schuifbalk toe te voegen aan de GUI. Het stelt een gebruiker in staat om het onzichtbare aantal rijen en kolommen te zien.

8. Lijst

Het object van de klasse List vertegenwoordigt een lijst met tekstitems. De ... gebruiken klasse kan een gebruiker één item of meerdere items kiezen.

9. CheckBox

De Checkbox is een klasse is een grafische component die wordt gebruikt om een ​​checkbox te maken. Het heeft twee statusopties true en false. Het kan op elk moment een van beide hebben.

Dus dat was alles wat u moest weten over de AWT-componenten. Nu hoop ik dat je klaar bent om je voeten nat te maken met de Java AWT-applicatie.

een sorteeralgoritme kan worden gebruikt om een ​​set van ________ in ________ volgorde te rangschikken.

In het volgende gedeelte van deze Java AWT-zelfstudie laat ik u zien hoe u een rekenmachine kunt bouwen met AWT-componenten.

Een rekenmachine ontwikkelen met Java AWT

Hier zal ik je laten zien hoe je een rekenmachine kunt maken met AWT, waar je elementaire wiskundige bewerkingen kunt uitvoeren. Hieronder ziet u een screenshot van hoe uw rekenmachine eruit zal zien:

Om dit te bouwen, moet u de volgende code typen:

pakket edureka.awt import java.awt. * import java.awt.event.ActionEvent import java.awt.event.ActionListener class Calculator breidt uit Frame implementeert ActionListener {Label lb1, lb2, lb3 TextField txt1, txt2, txt3 Knop btn1, btn2, btn3, btn4, btn5, btn6, btn7 openbare rekenmachine () {lb1 = nieuw label ('Var 1') lb2 = nieuw label ('Var 2') lb3 = nieuw label ('Resultaat') txt1 = nieuw tekstveld (10) txt2 = nieuw TextField (10) txt3 = nieuw TextField (10) btn1 = nieuwe knop ('Toevoegen') btn2 = nieuwe knop ('Sub') btn3 = nieuwe knop ('Multi') btn4 = nieuwe knop ('Div') btn5 = nieuwe knop ('Mod') btn6 = nieuwe knop ('Reset') btn7 = nieuwe knop ('Sluiten') add (lb1) add (txt1) add (lb2) add (txt2) add (lb3) add (txt3 ) add (btn1) add (btn2) add (btn3) add (btn4) add (btn5) add (btn6) add (btn7) setSize (200,200) setTitle ('Calculator') setLayout (nieuwe FlowLayout ()) // setLayout ( nieuwe FlowLayout (FlowLayout.RIGHT)) // setLayout (nieuwe FlowLayout (FlowLayout.LEFT)) btn1.addActionListener (dit) btn2.addActionListener (dit) btn3.addActionListener (dit) btn4.addActionListen er (this) btn5.addActionListener (this) btn6.addActionListener (this) btn7.addActionListener (this)} public void actionPerformed (ActionEvent ae) {double a = 0, b = 0, c = 0 probeer {a = Double.parseDouble (txt1.getText ())} catch (NumberFormatException e) {txt1.setText ('Ongeldige invoer')} probeer {b = Double.parseDouble (txt2.getText ())} catch (NumberFormatException e) {txt2.setText (' Ongeldige invoer ')} if (ae.getSource () == btn1) {c = a + b txt3.setText (String.valueOf (c))} if (ae.getSource () == btn2) {c = a - b txt3.setText (String.valueOf (c))} if (ae.getSource () == btn3) {c = a * b txt3.setText (String.valueOf (c))} if (ae.getSource () = = btn4) {c = a / b txt3.setText (String.valueOf (c))} if (ae.getSource () == btn5) {c = a% b txt3.setText (String.valueOf (c))} if (ae.getSource () == btn6) {txt1.setText ('0') txt2.setText ('0') txt3.setText ('0')} if (ae.getSource () == btn7) {Systeem .exit (0)}} public static void main (String [] args) {Calculator calC = nieuwe Calculator () calC.setVisible (true) calC.setLocation (300,300)}}

Het is je misschien opgevallen dat we hier alleen functionaliteiten hebben gebruikt. U kunt altijd meer functies aan uw applicatie toevoegen en een volwaardige rekenmachine maken.

Hiermee komen we aan het einde van deze Java AWT Tutorial.Als u meer wilt weten over Java, kunt u onze .

Nu je hebt begrepen wat een Java AWT-zelfstudie is, kun je het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. Edureka's training en certificering voor Java J2EE en SOA is bedoeld voor studenten en professionals die Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in de commentarensectie van dit 'Java AWT Tutorial' -artikel en we nemen zo snel mogelijk contact met u op.