Java AWT (Abstract Window Toolkit) är ett API för att utveckla grafiskt användargränssnitt (GUI) eller Windows-baserade applikationer i Java.
Java AWT-komponenter är plattformsberoende, dvs komponenter visas enligt operativsystemets vy. AWT är tungt, dvs dess komponenter använder resurserna från det underliggande operativsystemet (OS).
Java.awt paket tillhandahåller klasser för AWT API som TextField , Label , TextArea , RadioButton, CheckBox , Choice , List etc.
AWT-handledningen hjälper användaren att förstå Java GUI-programmering i enkla och enkla steg.
Varför är AWT plattformsoberoende?
Java AWT anropar den inbyggda plattformen anropar den inbyggda plattformen (operativsystem) subrutinen för att skapa API-komponenter som TextField, ChechBox, button, etc.
Till exempel kommer ett AWT-gränssnitt med komponenter som TextField, etikett och knapp att ha olika utseende och känsla för de olika plattformarna som Windows, MAC OS och Unix. Anledningen till detta är att plattformarna har olika syn på sina inbyggda komponenter och AWT anropar direkt den ursprungliga subrutinen som skapar dessa komponenter.
Med enkla ord kommer ett AWT-program att se ut som ett Windows-program i Windows OS medan det kommer att se ut som ett Mac-program i MAC OS.
Java AWT-hierarki
Hierarkin för Java AWT-klasser ges nedan.
Komponenter
Alla element som knappen, textfält, rullningslister, etc. kallas komponenter. I Java AWT finns det klasser för varje komponent som visas i diagrammet ovan. För att placera varje komponent i en viss position på en skärm måste vi lägga till dem i en behållare.
Behållare
Containern är en komponent i AWT som kan innehålla andra komponenter som knappar, textfält, etiketter etc. Klasserna som utökar Containerklassen kallas container som t.ex. Ram, dialog och Panel .
c++ delad sträng
Det är i grunden en skärm där komponenterna är placerade på sina specifika platser. På så sätt innehåller och kontrollerar det layouten av komponenter.
Obs: En behållare i sig är en komponent (se diagrammet ovan), därför kan vi lägga till en behållare inuti behållaren.
Typer av behållare:
Det finns fyra typer av behållare i Java AWT:
textstorlek latex
- Fönster
- Panel
- Ram
- Dialog
Fönster
Fönstret är behållaren som inte har några ramar och menyrader. Du måste använda ram, dialogruta eller annat fönster för att skapa ett fönster. Vi måste skapa en instans av Window-klassen för att skapa den här behållaren.
Panel
Panelen är behållaren som inte innehåller titelrad, ram eller menyrad. Det är en generisk behållare för att hålla komponenterna. Den kan ha andra komponenter som knapp, textfält etc. En instans av Panel-klassen skapar en container, i vilken vi kan lägga till komponenter.
Ram
Ramen är behållaren som innehåller titelrad och ram och kan ha menyrader. Den kan ha andra komponenter som knapp, textfält, rullningslist etc. Frame är den mest använda behållaren när man utvecklar en AWT-applikation.
Användbara metoder för komponentklass
Metod | Beskrivning |
---|---|
public void add (komponent c) | Infogar en komponent på denna komponent. |
public void setSize (int bredd, int höjd) | Ställer in storleken (bredd och höjd) på komponenten. |
public void setLayout(LayoutManager m) | Definierar layouthanteraren för komponenten. |
public void setVisible (boolesk status) | Ändrar komponentens synlighet, som standard false. |
Java AWT exempel
För att skapa ett enkelt AWT-exempel behöver du en ram. Det finns två sätt att skapa ett GUI med Frame i AWT.
- Genom att utöka klassen Frame ( arv )
- Genom att skapa objektet i klassen Frame ( förening )
AWT Exempel genom arv
Låt oss se ett enkelt exempel på AWT där vi ärver Frame-klassen. Här visar vi knappkomponenten på ramen.
AWTExample1.java
// importing Java AWT class import java.awt.*; // extending Frame class to our class AWTExample1 public class AWTExample1 extends Frame { // initializing using constructor AWTExample1() { // creating a button Button b = new Button('Click Me!!'); // setting button position on screen b.setBounds(30,100,80,30); // adding button into frame add(b); // frame size 300 width and 300 height setSize(300,300); // setting the title of Frame setTitle('This is our basic AWT example'); // no layout manager setLayout(null); // now frame will be visible, by default it is not visible setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample1 f = new AWTExample1(); } }ladda ner det här exemplet
Metoden setBounds(int x-axel, int y-axel, int bredd, int höjd) används i exemplet ovan som ställer in positionen för awt-knappen.
Produktion:
AWT Exempel av Association
Låt oss se ett enkelt exempel på AWT där vi skapar en instans av klassen Frame. Här skapar vi ett textfält, etikett och knappkomponent på ramen.
AWTExample2.java
// importing Java AWT class import java.awt.*; // class AWTExample2 directly creates instance of Frame class class AWTExample2 { // initializing using constructor AWTExample2() { // creating a Frame Frame f = new Frame(); // creating a Label Label l = new Label('Employee id:'); // creating a Button Button b = new Button('Submit'); // creating a TextField TextField t = new TextField(); // setting position of above components in the frame l.setBounds(20, 80, 80, 30); t.setBounds(20, 100, 80, 30); b.setBounds(100, 100, 80, 30); // adding components into frame f.add(b); f.add(l); f.add(t); // frame size 300 width and 300 height f.setSize(400,300); // setting the title of frame f.setTitle('Employee info'); // no layout f.setLayout(null); // setting visibility of frame f.setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample2 awt_obj = new AWTExample2(); } }ladda ner det här exemplet
Produktion: