Vorlesung Informatik 1 - Teil A: Java Kurs

1.7 Fenster-basierte Anwendungen mit Swing

Wir wollen möglichst schnell grafische-interaktive Anwendungen programmieren.

Das Paket javax.swing enthält die dazu notwendigen Klassen, die ersten die wir brauchen sind:

  • JFrame:  Anwendungsfenster.
          JFrame fenster = new JFrame("Beispiel");
          fenster.setSize(500,300);  // Pixel
          fenster.setVisible(true);


          Weitere Aspekte:
          fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // sonst läuft Anwendung weiter
  • JPanel:  Container, auf dem man verschiedene Bedienelemente gruppieren kann
  • JButton:  Schaltfläche auf die man klickt
  • JLabel:  Text

Anordnung von Elementen auf der Oberfläche: LayoutManager
FlowLayout: (standard) zeilenweise von links nach rechts. Elemente minimiert.
GridLayout: Raster (Zeilen, Spalten), Elemente maximiert.
BorderLayout: fünf Bereiche Center, West, EAST, NORTH, SOUTH , Elemente Maximiert 
                          this. add(p, BorderLayout.NORTH);

  • JTextField: einzeliges Eingabefenster 
  • JTextArea: mehrzeiliges Eingabefenster
  • JScrollPane: Scrollbalken um ein Element, z.B. um eine JTextArea(zeilen, spalten)
  • JTabbedPane: Karteikasten mit Reitern


Die Basisklasse StandardAnwendung 

Swing Anwendungen brauchen eine komplexe Umgebung, um sicher zu laufen. Um  das alles aufzusetzen, nutzen wir die eigene Klasse tools.StandardAnwendung.

class Aufgabe999 extends StandardAnwendung{
      public static void main(String[] a){
            starteAnwendung();
      }
      public Einfach(){
          super("Einfaches Beispiel", 500, 700);
           ...
      }

Weiterführende Links

Kapitel zu Swing in Java ist auch eine Insel

Kapitel zu Layout-Manager in Java ist auch eine Insel

Lehrvideo  (YouTube)