Java AWT (Abstract Window Toolkit) ist eine API zum Entwickeln einer grafischen Benutzeroberfläche (GUI) oder Windows-basierter Anwendungen in Java.
Java AWT-Komponenten sind plattformabhängig, d. h. Komponenten werden entsprechend der Ansicht des Betriebssystems angezeigt. AWT hat ein hohes Gewicht, d. h. seine Komponenten nutzen die Ressourcen des zugrunde liegenden Betriebssystems (OS).
Das java.awt Paket bietet Klassen für AWT-APIs wie TextField, Label, TextArea, RadioButton, CheckBox, Choice, List usw.
Das AWT-Tutorial hilft dem Benutzer, die Java-GUI-Programmierung in einfachen und einfachen Schritten zu verstehen.
Warum ist AWT plattformunabhängig?
Java AWT ruft die Subroutine der nativen Plattform (Betriebssysteme) zum Erstellen von API-Komponenten wie TextField, ChechBox, Button usw. auf.
Beispielsweise hat eine AWT-GUI mit Komponenten wie TextField, Label und Button ein unterschiedliches Erscheinungsbild für die verschiedenen Plattformen wie Windows, MAC OS und Unix. Der Grund dafür ist, dass die Plattformen unterschiedliche Ansichten für ihre nativen Komponenten haben und AWT direkt die native Unterroutine aufruft, die diese Komponenten erstellt.
Mit einfachen Worten: Eine AWT-Anwendung sieht im Windows-Betriebssystem wie eine Windows-Anwendung aus, während sie im MAC-Betriebssystem wie eine Mac-Anwendung aussieht.
Java AWT-Hierarchie
Die Hierarchie der Java AWT-Klassen ist unten angegeben.
Komponenten
Alle Elemente wie Schaltflächen, Textfelder, Bildlaufleisten usw. werden als Komponenten bezeichnet. In Java AWT gibt es Klassen für jede Komponente, wie im obigen Diagramm dargestellt. Um jede Komponente an einer bestimmten Position auf einem Bildschirm zu platzieren, müssen wir sie einem Container hinzufügen.
Container
Der Container ist eine Komponente in AWT, die andere Komponenten wie Schaltflächen, Textfelder, Beschriftungen usw. enthalten kann. Die Klassen, die die Container-Klasse erweitern, werden als Container bezeichnet, z Rahmen, Dialog Und Panel .
in Java-Regex
Es handelt sich im Grunde um einen Bildschirm, auf dem die Komponenten an ihren spezifischen Standorten platziert werden. Somit enthält und steuert es das Layout von Komponenten.
Hinweis: Ein Container selbst ist eine Komponente (siehe Abbildung oben), daher können wir einen Container innerhalb eines Containers hinzufügen.
Arten von Behältern:
Es gibt vier Arten von Containern in Java AWT:
- Fenster
- Panel
- Rahmen
- Dialog
Fenster
Das Fenster ist der Container ohne Rahmen und Menüleisten. Zum Erstellen eines Fensters müssen Sie einen Rahmen, einen Dialog oder ein anderes Fenster verwenden. Um diesen Container zu erstellen, müssen wir eine Instanz der Window-Klasse erstellen.
Panel
Das Panel ist der Container, der keine Titelleiste, Rahmen oder Menüleiste enthält. Es handelt sich um einen generischen Behälter zur Aufnahme der Komponenten. Es kann andere Komponenten wie eine Schaltfläche, ein Textfeld usw. enthalten. Eine Instanz der Panel-Klasse erstellt einen Container, in den wir Komponenten hinzufügen können.
Rahmen
Der Rahmen ist der Container, der die Titelleiste und den Rahmen enthält und über Menüleisten verfügen kann. Es kann andere Komponenten wie eine Schaltfläche, ein Textfeld, eine Bildlaufleiste usw. enthalten. Frame ist der am häufigsten verwendete Container bei der Entwicklung einer AWT-Anwendung.
Nützliche Methoden der Komponentenklasse
Methode | Beschreibung |
---|---|
public void add(Komponente c) | Fügt eine Komponente auf dieser Komponente ein. |
public void setSize(int width,int height) | Legt die Größe (Breite und Höhe) der Komponente fest. |
public void setLayout(LayoutManager m) | Definiert den Layout-Manager für die Komponente. |
public void setVisible(boolescher Status) | Ändert die Sichtbarkeit der Komponente, standardmäßig false. |
Java AWT-Beispiel
Um ein einfaches AWT-Beispiel zu erstellen, benötigen Sie einen Rahmen. Es gibt zwei Möglichkeiten, eine GUI mit Frame in AWT zu erstellen.
- Durch Erweitern der Frame-Klasse ( Nachlass )
- Durch Erstellen des Objekts der Frame-Klasse ( Verband )
AWT-Beispiel durch Vererbung
Sehen wir uns ein einfaches Beispiel für AWT an, bei dem wir die Frame-Klasse erben. Hier zeigen wir die Button-Komponente im Frame.
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(); } }Laden Sie dieses Beispiel herunter
Im obigen Beispiel wird die Methode setBounds(int x-axis, int y-axis, int width, int height) verwendet, die die Position der AWT-Schaltfläche festlegt.
Ausgabe:
AWT-Beispiel nach Assoziation
Sehen wir uns ein einfaches Beispiel von AWT an, in dem wir eine Instanz der Frame-Klasse erstellen. Hier erstellen wir eine TextField-, Label- und Button-Komponente auf dem Frame.
cpld vs. fpga
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(); } }Laden Sie dieses Beispiel herunter
Ausgabe: