Professionelle Java-Schulung – Vor Ort und Online.

  • Einführung in die Welt der Java-Programmierung
  • Konzepte und Techniken von Algorithmen kennenlernen
  • Datenbanken und ihren Einsatz in der digitalen Welt

Swing



Swing ist ein Teil des Java API (Application Programming Interface) und stellt eine grafische Benutzeroberflächen-Bibliothek zur Verfügung, die es Entwicklern ermöglicht, plattformunabhängige GUI-Anwendungen in Java zu erstellen. Swing bietet eine umfassende Sammlung von Komponenten (Widgets) wie Buttons, Labels, Textfelder, Listen, Tabellen und vieles mehr, die für die Erstellung von interaktiven und ansprechenden Benutzeroberflächen verwendet werden können.

Hier sind einige wichtige Punkte zur Einführung in Swing:

Swing-Komponenten und Container

Swing bietet eine Vielzahl von Komponenten, die als Bausteine für die Benutzeroberfläche dienen. Diese Komponenten werden in Containern organisiert, die als Behälter dienen, um die Komponenten anzuordnen. Beispiele für Swing-Komponenten sind JButton, JLabel, JTextField, JComboBox, JList, JTable usw.

Ereignisgesteuerte Programmierung

Swing basiert auf dem ereignisgesteuerten Modell, bei dem Ereignisse wie Mausklicks, Tastatureingaben oder Benutzerinteraktionen auf Komponenten auftreten und von entsprechenden Listenern abgefangen werden. Sie können Listener an Komponenten anhängen, um auf diese Ereignisse zu reagieren und entsprechende Aktionen auszuführen.

Layout-Manager

Swing verwendet Layout-Manager, um die Anordnung von Komponenten in Containern zu verwalten. Layout-Manager helfen dabei, dass Komponenten unabhängig von der Bildschirmgröße und dem Fensterlayout konsistent und ordnungsgemäß angezeigt werden. Es gibt verschiedene Layout-Manager wie FlowLayout, BorderLayout, GridLayout, GridBagLayout usw.

Swing-Komponenten-Styling

Swing ermöglicht das Styling von Komponenten, um das Aussehen der Benutzeroberfläche anzupassen. Sie können Farben, Schriftarten und Symbole für Komponenten ändern, um eine benutzerdefinierte Benutzeroberfläche zu erstellen.

Plattformunabhängigkeit

Swing-Anwendungen sind plattformunabhängig, was bedeutet, dass dieselbe Java-Anwendung auf verschiedenen Betriebssystemen wie Windows, macOS und Linux ausgeführt werden kann, ohne Änderungen am Quellcode vornehmen zu müssen. Hier ist ein einfaches Beispiel für die Erstellung eines Swing-Fensters:


import javax.swing.*;

public class SwingExample {
    public static void main(String[] args) {
        // Erstellen des Swing-Fensters
        JFrame frame = new JFrame("Mein Swing-Fenster");
        frame.setSize(300, 200);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Erstellen einer Swing-Komponente
        JLabel label = new JLabel("Willkommen zu Swing!");

        // Hinzufügen der Komponente zum Fenster
        frame.add(label);

        // Fenster sichtbar machen
        frame.setVisible(true);
    }
}


Dieses Beispiel erstellt ein einfaches Swing-Fenster mit einem Label und zeigt es auf dem Bildschirm an.

Swing bietet eine umfassende Palette von Möglichkeiten zur Erstellung ansprechender und interaktiver Benutzeroberflächen in Java. Es ist eine beliebte Wahl für die Entwicklung von plattformübergreifenden Desktop-Anwendungen und bietet eine Fülle von Funktionen, die es Entwicklern ermöglichen, benutzerfreundliche Anwendungen zu erstellen.

Aufgabe 1 : GUI Taschenrechner

Erstellen Sie eine einfache GUI-Anwendung für einen Taschenrechner. Die Benutzeroberfläche sollte Zahlen-Buttons, Operationen (Addition, Subtraktion, Multiplikation, Division) und ein Anzeigefeld für das Ergebnis haben.

Anforderungen:

  1. Erstellen Sie eine JFrame-Anwendung mit den entsprechenden GUI-Komponenten.
  2. Implementieren Sie Event-Handler für die Buttons, um die entsprechenden Aktionen auszuführen.
  3. Das Anzeigefeld sollte das eingegebene mathematische Problem und das berechnete Ergebnis anzeigen.
  4. Die Berechnungen sollten aktualisiert werden, wenn der Benutzer auf Operationen klickt.
  5. Fügen Sie einen "Berechnen"-Button hinzu, um das Ergebnis zu berechnen und anzuzeigen.
  6. Implementieren Sie eine einfache Fehlerbehandlung, um Division durch Null oder ungültige Eingaben zu verhindern.

Diese Aufgabe soll Ihnen helfen, grundlegende Kenntnisse über die Erstellung von GUI-Anwendungen mit Java Swing zu erlangen. Sie können JButton, JTextField und ActionListener verwenden, um die Benutzeroberfläche zu erstellen und die Interaktionen zu verarbeiten.

Aufgabe 2 : Draw Line

  1. Kopieren Sie den Quellcode von unten und lassen Sie das Programm laufen
  2. Sie sehen eine blaue Linie von oben links bis in der Mitte
  3. Zeichnen Sie nun eine Linie von der rechten Ecke oben bis in die Mitte mit der Farbe rot
  4. Zeichnen Sie nun eine Linie von der rechten Ecke unten bis in die Mitte mit der Farbe blau
  5. Zeichnen Sie nun eine Linie von der linken Ecke unten bis in die Mitte mit der Farbe rot
  6. Mit einer For-Schleife soll nun abwechselnd eine Linie in Rot und Blau wie folgt gezeichnet werden: Wenn der Index i eine gerade Zahl ist, soll die Linie blau, andernfalls rot dargestellt werden. Der Startpunkt ist in der Mitte, und die Linien verlaufen vom oberen linken bis zum oberen rechten Rand.

 


import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class DrawLineSwing extends JFrame{

	public DrawLineSwing() {
		super("Line Drawing Demo 1");
		setSize(500,500);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
	}

	void drawLines(Graphics g) {
		Graphics2D g2d = (Graphics2D)g;
		g2d.setColor(Color.BLUE);
		g2d.drawLine(0, 0, 250, 250);
	}

	public void paint(Graphics g) {
		super.paint(g);
		drawLines(g);
	}

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				new DrawLineSwing().setVisible(true);
			}
		});
	}
}