Neues
parent
16a83eafd6
commit
f8e9ae46b5
|
@ -0,0 +1,58 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
import javax.swing.Timer;
|
||||
|
||||
public class BewegePanle extends JPanel {
|
||||
private int yPosition = 0; // Startposition des Panels oben
|
||||
private final int speed = 1; // Geschwindigkeit der Bewegung
|
||||
private final int panelWidth = 100;
|
||||
private final int panelHeight = 100;
|
||||
|
||||
public BewegePanle() {
|
||||
// Setze die Hintergrundfarbe des Panels
|
||||
setBackground(Color.red);
|
||||
|
||||
// Timer initialisieren und starten
|
||||
//(int delay, ActionListener listener)
|
||||
Timer timer = new Timer(10, new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
// Aktualisiere die y-Position
|
||||
yPosition += speed;
|
||||
|
||||
// Wenn das Panel unten angekommen ist, starte wieder von oben
|
||||
if (yPosition > 750 - panelHeight) {
|
||||
yPosition = 0; // Zurück an den oberen Rand
|
||||
}
|
||||
|
||||
// Erzwinge das Neuzeichnen des Panels
|
||||
setBounds(0, yPosition, panelWidth, panelHeight);
|
||||
}
|
||||
});
|
||||
|
||||
timer.start(); // Timer starten
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Erstelle das Hauptfenster
|
||||
JFrame frame = new JFrame();
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.setSize(750, 750);
|
||||
frame.setLayout(null); // Deaktiviere das Layout-Management
|
||||
|
||||
// Erstelle eine Instanz von Jpanel und füge sie dem Fenster hinzu
|
||||
BewegePanle panel = new BewegePanle();
|
||||
panel.setBounds(0, 0, 100, 100); // Initiale Position und Größe
|
||||
frame.add(panel);
|
||||
|
||||
// Mache das Fenster sichtbar
|
||||
frame.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
public class GridBagLayoutExample {
|
||||
/*- manuell positionien von Elementen
|
||||
* - in viel flexibleres Layout-Manager, bei dem du die Position,
|
||||
* Größe und Ausdehnung (über mehrere Zeilen/Spalten) der einzelnen Komponenten präzise steuern kannst.
|
||||
* - Du kannst einzelne Komponenten unterschiedlich groß machen, sie über mehrere Zellen spannen und Abstände festlegen.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
JFrame frame = new JFrame("GridBagLayout Example");
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.setLayout(null);
|
||||
JButton button1 = new JButton("Button1");
|
||||
frame.add(button1);
|
||||
|
||||
button1.setBounds(0, 0, 120, 30);
|
||||
frame.setSize(800, 800);
|
||||
frame.setVisible(true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.GridLayout;
|
||||
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
public class Gridlayout {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
// Erstelle ein JFrame-Fenster
|
||||
JFrame fenster = new JFrame();
|
||||
|
||||
// Beendet das Programm beim Schließen des Fensters
|
||||
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
// Legt die Größe des Fensters auf 500x500 Pixel fest
|
||||
fenster.setSize(500, 500);
|
||||
fenster.setLayout(new GridLayout(4,3,10,4));
|
||||
|
||||
fenster.add(new JButton("1"));
|
||||
fenster.add(new JButton("2"));
|
||||
fenster.add(new JButton("3"));
|
||||
fenster.add(new JButton("4"));
|
||||
fenster.add(new JButton("5"));
|
||||
fenster.add(new JButton("6"));
|
||||
fenster.add(new JButton("7"));
|
||||
fenster.add(new JButton("8"));
|
||||
fenster.add(new JButton("9"));
|
||||
|
||||
fenster.setVisible(true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -17,10 +17,9 @@ public class Jpanel {
|
|||
JPanel panel = new JPanel();
|
||||
panel.setBackground(Color.red);
|
||||
// setze eine Grafisches Bauelement (int x, int y, int width, int height)
|
||||
panel.setBounds(0, 0, 24, 50);
|
||||
panel.setBounds(100, 100, 10, 10);
|
||||
|
||||
|
||||
// Erstelle ein Fenster
|
||||
JFrame frame = new JFrame();
|
||||
|
||||
//stellt sicher, dass keine automatische Positionierung und Größenanpassung erhalten
|
||||
|
@ -37,6 +36,7 @@ public class Jpanel {
|
|||
|
||||
frame.add(panel);
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
||||
public class KeyBindingsExample extends JFrame {
|
||||
public KeyBindingsExample() {
|
||||
setTitle("KeyBindings Beispiel");
|
||||
setSize(300, 200);
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
|
||||
// Panel erstellen
|
||||
JPanel panel = new JPanel();
|
||||
add(panel);
|
||||
|
||||
// KeyBinding hinzufügen: 'A' Taste
|
||||
panel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("A"), "keyA");
|
||||
panel.getActionMap().put("keyA", new AbstractAction() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
System.out.println("Taste 'A' wurde gedrückt (KeyBindings).");
|
||||
}
|
||||
});
|
||||
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new KeyBindingsExample();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
public class ShowMessage {
|
||||
|
||||
/*
|
||||
* - erstellt einfache Dialogfenster (Pop-up-Fenster)
|
||||
* - können verwendet werden, um Nachrichten anzuzeigen, Eingaben vom Benutzer zu erfassen oder den Benutzer vor bestimmten Aktionen zu warnen.
|
||||
* - durch null kann man viele sachen ersetzen:
|
||||
* . Fenster
|
||||
* . Jpanel
|
||||
* . public MeinFenster() {
|
||||
super("Mein Fenster");
|
||||
JOptionPane.showMessageDialog(this, "Beispiel.", "Titel", JOptionPane.WARNING_MESSAGE);
|
||||
|
||||
. etc...
|
||||
}
|
||||
*/
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Erstelle ein JFrame-Fenster mit dem Titel "Mein Fenster"
|
||||
JFrame fenster = new JFrame("Mein Fenster");
|
||||
|
||||
// Zeige eine Fehlermeldung in einem Dialog an, zentriert relativ zu 'fenster'
|
||||
JOptionPane.showMessageDialog(fenster, "Beispiel.", "title", JOptionPane.ERROR_MESSAGE);
|
||||
|
||||
// Zeige eine Informationsmeldung in einem Dialog an, zentriert auf dem Bildschirm
|
||||
JOptionPane.showMessageDialog(null, "Beispiel..", "title", JOptionPane.INFORMATION_MESSAGE);
|
||||
|
||||
// Zeige eine Frage in einem Dialog an, zentriert auf dem Bildschirm
|
||||
JOptionPane.showMessageDialog(null, "Beispiel.", "title", JOptionPane.QUESTION_MESSAGE);
|
||||
|
||||
// Zeige eine Warnung in einem Dialog an, zentriert auf dem Bildschirm
|
||||
JOptionPane.showMessageDialog(null, "Beispiel.", "title", JOptionPane.WARNING_MESSAGE);
|
||||
|
||||
/*
|
||||
* Zeige einen Bestätigungsdialog an, um den Benutzer zu fragen,
|
||||
* ob er fortfahren möchte (Ja/Nein/Abbrechen).
|
||||
* Antwort wird in 'antwort' gespeichert.
|
||||
*/
|
||||
int antwort = JOptionPane.showConfirmDialog(null, "Möchten Sie fortfahren?");
|
||||
if (antwort == JOptionPane.YES_OPTION) {
|
||||
// Benutzer hat 'Ja' gewählt
|
||||
System.out.println("Benutzer hat 'Ja' gewählt.");
|
||||
} else if (antwort == JOptionPane.NO_OPTION) {
|
||||
// Benutzer hat 'Nein' gewählt
|
||||
System.out.println("Benutzer hat 'Nein' gewählt.");
|
||||
} else if (antwort == JOptionPane.CANCEL_OPTION) {
|
||||
// Benutzer hat 'Abbrechen' gewählt
|
||||
System.out.println("Benutzer hat 'Cancel' gewählt.");
|
||||
}
|
||||
|
||||
// Zeige einen Eingabedialog an, um den Benutzer nach seinem Namen zu fragen
|
||||
String eingabe = JOptionPane.showInputDialog("Geben Sie Ihren Namen ein:");
|
||||
// Gib den eingegebenen Namen in der Konsole aus
|
||||
System.out.println("Benutzername: " + eingabe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package GUIAnwendungen;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.FlowLayout;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JFrame;
|
||||
import javax.swing.JTextField;
|
||||
|
||||
/*Beschreibung das Problem:
|
||||
* Instanzvariablen sollten verwendet werden, wenn du sicherstellen möchtest, dass Variablen wie JButton und JTextField in der gesamten Klasse (und in actionPerformed) sichtbar sind.
|
||||
Der Konstruktor der Klasse wird verwendet, um die GUI-Komponenten zu initialisieren und das Fenster aufzubauen.
|
||||
Die main-Methode ist static und dient dazu, die Anwendung zu starten, indem sie eine Instanz der Klasse erstellt.
|
||||
Anonyme innere Klassen sind eine praktische Möglichkeit, wenn du einfache Event-Handling-Logik direkt in der main-Methode implementieren möchtest, ohne eine zusätzliche Klasse oder Instanzmethoden zu erstellen.
|
||||
*
|
||||
*/
|
||||
|
||||
public class TextEingaben extends JFrame implements ActionListener {
|
||||
// Instanzvariablen
|
||||
private JTextField textField;
|
||||
private JButton button1;
|
||||
|
||||
// Konstruktor
|
||||
public TextEingaben() {
|
||||
// Initialisiere das Textfeld und den Button
|
||||
textField = new JTextField();
|
||||
textField.setPreferredSize(new Dimension(240, 40));
|
||||
|
||||
button1 = new JButton("Submit");
|
||||
button1.setPreferredSize(new Dimension(240, 40));
|
||||
button1.addActionListener(this); // `this` verweist auf das aktuelle Objekt der Klasse
|
||||
|
||||
// Setze das Layout und füge die Komponenten hinzu
|
||||
setLayout(new FlowLayout());
|
||||
add(textField);
|
||||
add(button1);
|
||||
|
||||
// Konfiguriere das JFrame
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setSize(500, 500);
|
||||
setVisible(true);
|
||||
}
|
||||
|
||||
// Die Methode wird aufgerufen, wenn der Button gedrückt wird
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (e.getSource() == button1) {
|
||||
System.out.println("Hallo " + textField.getText());
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
// Erstelle eine Instanz der Klasse, wodurch der Konstruktor aufgerufen wird
|
||||
new TextEingaben();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue