Logo Logo
InfoHome Themen Projekte Links Software
Themen
JavaHamster
BlueJ
Java
Sprachelemente
Abstrakte Datentypen
Swing
Composite Pattern
AWT > Swing
GUI-Grundstruktur
Farben und Fonts
Layout-Manager
Komponenten 1
Komponenten 2
Komponenten 3
Container
Observer Pattern
Ereignisverarbeitung
MVC-Pattern
Game Of Life
Threads
Aufgaben
Sortieren
HTML
XHTML
CSS
XML
Datenbanken
MySQL
Theoretische Informatik
PHP
Kara
Lego-Roboter
Algorithmen

Komponenten 2: Auswahllisten

  • JComboBox
  • JList

Demo 1: JList / JScrollPane / JPanel / GridLayout / BorderLayout

list.png

Demonstriert wird der Gebruach der Grundkomponenten JLabel, JList und JButton. Als Container-Elemente kommen JPanel und JScrollPane zum Einsatz.

Das JScrollPane enthält die JList und sorgt dafür, dass die JList in einem scrollbaren Bereich angezeigt wird. Die Anordnung der Komponenten innerhalb des JFrame erfolgt in drei Zeilen, die durch drei JPanel-Containern repräsentiert werden. Jedes dieser JPanel ordnet mit Hilfe GridLayouts seine zwei Inhaltskomponenten in zwei Spalten an. Die drei JPanels werden schießlich im JFrame mit Hilfe des BorderLayouts angeordnet.

import javax.swing.*;
import java.awt.*;

public class Einkaufswagen extends JFrame {

// DATENFELD
Container c;
JList angebot, tasche;
JPanel jp1, jp2, jp3;

// KONSTRUKTOR
public Einkaufswagen() {

// Container
c = getContentPane();

// Beschriftung erzeugen in PANEL 1
jp1 = new JPanel(new GridLayout(1,2));
jp1.add(new JLabel("Angebot"));
jp1.add(new JLabel("Einkaufswagen"));

// Angebot
String[] waren = new String[] {"Nudeln", "Maggi-Fertig-Soße", "Kerzen", "Wein",
"Dating-Tipps", "Kaffee", "Martini"};
// Angebotsliste
angebot = new JList(waren);
angebot.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// Leere Einkaufsliste
tasche = new JList(new DefaultListModel());

// JListen in PANEL 2
jp2 = new JPanel(new GridLayout(1,2));
jp2.add(new JScrollPane(angebot));
jp2.add(new JScrollPane(tasche));

// Buttons in PANEL 3
jp3 = new JPanel(new GridLayout(1,2));
jp3.add(new JButton("Zurück"));
jp3.add(new JButton("Kaufen"));

// Objekte hinzufügen
c.add(jp1, BorderLayout.NORTH);
c.add(jp2, BorderLayout.CENTER);
c.add(jp3, BorderLayout.SOUTH);

}

// HAUPTPROGRAMM
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);

Einkaufswagen fenster = new Einkaufswagen();
fenster.setTitle("Einkaufen");
fenster.setSize(400,150);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

» drucken: pdf | html

© 2004-2024 M. Blanke · Ursulaschule · Kleine Domsfreiheit 11-18 · 49074 Osnabrück