Heim  >  Artikel  >  Java  >  Java GUI Framework

Java GUI Framework

王林
王林Original
2024-08-30 15:08:53573Durchsuche

GUI ist definiert als die Schnittstelle mit benutzerfreundlichen Komponenten wie Schaltflächen, Textfeldern usw., um dem Benutzer eine einfache Interaktion mit der Software zu ermöglichen. In einer grafischen Benutzeroberfläche werden die auszuführenden Aktionen durch kleine Grafiken oder Bilder gekennzeichnet. Dabei stehen die Benutzeraktionen im Vordergrund. Der Benutzer kann interagieren, indem er mit der Maus die auszuführende Aktion auswählt, indem er auf eine bestimmte Grafik klickt. Möchte der Nutzer beispielsweise eine Datei ausdrucken, muss er lediglich auf eine kleine Grafik mit der Darstellung eines Druckers klicken. In diesem Thema lernen wir etwas über das Java GUI Framework.

WERBUNG Beliebter Kurs in dieser Kategorie JAVA MASTERY - Spezialisierung | 78 Kursreihe | 15 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Java AWT-Framework

AWT ist eine API zum Erstellen von GUI- oder fensterbasierten Anwendungen.

Es verfügt über verschiedene Komponenten wie Schaltfläche, TextFeld, Kontrollkästchen, Liste.

AWT ruft Betriebssystem-Unterroutinen zum Erstellen der Komponenten wie Textbox, Kontrollkästchen, Schaltfläche auf. Deshalb ist es plattformabhängig.

Einige der Grundkonzepte bezüglich der AWT-Hierarchie sind wie folgt:

  • Container: Container ist eine Klasse, die alle Komponenten wie Schaltfläche, Textfeld, Titelleiste, Menüleiste usw. enthält.
  • Komponenten:Komponenten sind die GUI-Objekte wie Schaltflächen, Beschriftungen, Textfelder, Checkliste.
  • Panel: Panel ist eine Containerklasse. Es schafft einen Raum für eine Anwendung, in den alle Komponenten passen. Es erbt die Containerklasse. Das Panel enthält keine Menüleiste oder Titelleiste, kann aber andere Komponenten wie Textfelder und Schaltflächen enthalten.
  • Frame: Frame ist eine Containerklasse. Es enthält eine Menüleiste und eine Titelleiste und kann auch andere Komponenten enthalten.

Programme für AWT:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
class AWTCalculator extends Frame implements ActionListener
{
Label label1,label2,label3;
TextField text1,text2,text3;
Button button1,button2,button3,button4,button5;
public AWTCalculator()
{
label1 = new Label("Var 1");
label2 = new Label("Var 2");
label3 = new Label("Result");
text1 = new TextField(10);
text2 = new TextField(10);
text3 = new TextField(10);
button1 = new Button("Add");
button2 = new Button("Sub");
button3 = new Button("Multi");
button4 = new Button("Div");
button5 = new Button("Close");
add(label1);
add(text1);
add(label2);
add(text2);
add(label3);
add(text3);
add(button1);
add(button2);
add(button3);
add(button4);
add(button5);
setSize(200,200);
setTitle("AWTCalculator");
setLayout(new FlowLayout());
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
}
public void actionPerformed(ActionEvent action) {
double a1=0,b1=0,c1=0;
try
{
a1 = Double.parseDouble(text1.getText());
}
catch (NumberFormatException e) {
text1.setText("Invalid input entered");
}
try
{
b1 = Double.parseDouble(text2.getText());
}
catch (NumberFormatException e) {
text2.setText("Invalid input entered");
}
if(action.getSource()==button1)
{
c1 = a1 + b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button2)
{
c1 = a1 - b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button3)
{
c1 = a1 * b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource()==button4)
{
c1 = a1 / b1;
text3.setText(String.valueOf(c1));
}
if(action.getSource() == button5)
{
System.exit(0);
}
}
public static void main(String[] args)
{
AWTCalculator calC = new AWTCalculator();
calC.setVisible(true);
calC.setLocation(300,300);
}
}

Ausgabe:

Java GUI Framework

Java GUI Framework

Swing Java Framework

  • Java Swing ist nicht für das Abstract Window Toolkit (AWT) geeignet. Aufgrund seiner plattformunabhängigen Funktion stellt es eine Verbesserung gegenüber bestehenden APIs von AWT dar.
  • AWT und Swing sind ähnlich, wobei die meisten AWT-Komponenten entsprechende Komponenten im Swing haben.
  • Es wird jedoch empfohlen, AWT nur auf den Ereignisverarbeitungsmechanismus zu beschränken und die Erstellung und Darstellung der UI-Komponenten nur mit Swing zu erfolgen.

Im Folgenden sind die überzeugenden Gründe für die Verwendung von Java Swing aufgeführt:

  • Umfassender Satz an Komponenten, die den Entwickleraufwand erleichtern.
  • In Komponenten integrierte Rückgängig-/Wiederherstellen-Unterstützung.
  • 2D-Grafik-Rendering einfacher
  • Einsteckbares (anpassbares) Erscheinungsbild.

1. Model-View-Controller (MVC)-Entwurfsmuster für flexibles UI-Rendering

Code:

import javax.swing.JButton;
import javax.swing.JFrame;
public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame();
// Creating Button
JButton b=new JButton("Click"); b.setBounds(50,50,90,50);
//Adding button onto the frame
newFrame.add(b);
// Setting Frame size. This is the window size newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Ausgabe:

Java GUI Framework

2. Ein Bild zur Schaltfläche hinzufügen

Code:

import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; public class JButtonDemo {
JButtonDemo(){
JFrame newFrame=new JFrame(); Icon icon = new ImageIcon("edit.png");
// Creating Button
JButton b=new JButton(icon); b.setBounds(50,50,90,50);
//Adding button onto the frame newFrame.add(b);
// Setting Frame size. This is the window size
newFrame.setSize(300,200);
newFrame.setLayout(null); newFrame.setVisible(true);
newFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) { new JButtonDemo();
}
}

Ausgabe:

Java GUI Framework

Andere Frameworks

Qt Jambi

Ein Java-Wrapper für die native qt-Bibliothek, der in c/c++ geschrieben ist.

Es ist sehr leistungsstark, weit verbreitet und akzeptiert. Verfügt über viele GUI-Komponenten und eine einfach zu verwendende API.

SWT

Von IBM für Eclipse entwickelt, schienen sie damals der Meinung zu sein, dass Swing nicht für Eclipse geeignet sei.

An sich ist es ziemlich niedrig und nutzt die nativen Widgets der Plattform über JNI. Es hat überhaupt nichts mit Swing und AWT zu tun.

SWT ist ein Open-Source-Widget-Toolkit für Java, das einen effizienten, portablen Zugriff auf die Benutzeroberflächenfunktionen der Betriebssysteme bietet, auf denen es implementiert ist.

Apache Pivot

Es rendert die Benutzeroberfläche mit Java2D und minimiert so die Auswirkungen der (meiner Meinung nach aufgeblähten) Hinterlassenschaften von Swing und AWT.

Der Schwerpunkt scheint auf RIA (Rich Internet Applications) zu liegen, aber es scheint, dass es auch auf Desktop-Anwendungen angewendet werden kann.

JGoodies

Bei JGoodies OTOH geht es um PLAFs und Layouts.

JavaFX

Das neueste Flaggschiff von Java/Oracle. verspricht, der Fakto-Standard bei der Entwicklung umfangreicher Desktop- oder Webanwendungen zu werden.

Das obige ist der detaillierte Inhalt vonJava GUI Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:vergleichenMit JavaNächster Artikel:vergleichenMit Java