package javacodebook.gui.table; import javax.swing.*; import java.awt.event.*; import java.awt.*; /** * In diesem JFrame wird eine Tabelle platziert. Die Werte der Tabelle werden Ihr * gleich im Konstruktor mitgegeben */ public class TableJFrame extends JFrame { /** * Überschriften für Spalten */ private String columnNames[] = { "Name", "Stadt", "Strasse" }; /** * Werte der Tabelle */ private String dataValues[][] = { { "Andi Arbeit", "Soest", "Terlindenweg" }, { "Manuel Einstellbar", "Karlsruhe", "Kaiserallee" }, { "Sigrid Sörwis", "Berlin", "Winsstrasse" } }; /** * Im Konstruktor der Tabelle werden die Werte der Tabelle übergeben. * Dieses Vorgehen ist sehr intuitiv und einfach, möchte man allerdings * die Werte später ändern, bzw. dynamisch änderbar machen, ist dieser Weg * nicht mehr empfehlenswert */ private JTable table = new JTable( dataValues, columnNames ); /** * JScrollPane stellt per Default die Tabellenüberschriften von * eingebetteten Tabellen dar. Legt man die Tabelle einfach in ein * Panel, würden keine Überschriften erscheinen. */ private JScrollPane scrollPane = new JScrollPane(); private Container content = null; /** * Konstruktor von TableJFrame. */ public TableJFrame(String title) { super(title); content = this.getContentPane(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Eine Scrollpane darf nicht direkt, sondern muss immer // über Ihren Viewport bestückt werden. scrollPane.getViewport().add(table); // ScrollPane wird auf die contentPane gelegt content.add(scrollPane); } }