JTable Überschriften + Frage

Hallo :slight_smile:

Ich habe 2 Fragen. Ich habe eine GUI, wo eine Tabelle drauf ist mit 3 Spalten. Wie kann ich diese Spalten mit Überschriften versehen? Was ich momentan probiert habe, aber leider nicht funktioniert ist das hier:

		scrollPane.setBounds(346, 379, 261, -256);
		contentPane.add(scrollPane);
		
		JLayeredPane layeredPane = new JLayeredPane();
		layeredPane.setBounds(95, 270, 1, 1);
		contentPane.add(layeredPane);
		
		table = new JTable();
		table.setModel(new DefaultTableModel(
			new Object[][] {			// Spalteninhalt
			},
			new String[] {
				"Datum", "Art", "Betrag" //Überschriften. Klappt aber nicht
	
			}
		));
		table.setBounds(265, 114, 346, 273);
		contentPane.add(table);```


Dann noch eine 2. Frage:

Die Tabelle besteht aus den Spalten "Datum" "Art" und "Betrag". Links in den Comboboxen kann ich den Monat und das Jahr auswählen. Wie genau muss ich vorgehen, wenn ich z. B. Oktober 2015 auswähle, dass in der JTable auch nur Einträge aus diesem Monat angezeigt werden? :) Habe beide Comboboxen (Monat + Jahr) schon mit einem Actionlistener versehen, soweit dass man sieht, wenn in der CB etwas ausgewählt wurde

Für Frage 1 kannst du mal das Wiki konsultieren, dort gibt’s ein super JTable-Tutorial.

Die 2. Frage kann ich nicht nachvollziehen. Hast du mal ein Bild vom Ist-/Sollzustand?

Vielleicht sollte man noch erwähnen, dass der Wichtige Hinweis das entscheidende ist: Wenn man eine JTable in eine JScrollPane packt, hat sie automatisch die Spaltenbeschriftung (Header). Wenn nicht, muss man den händisch hinzufügen (das ist auch nicht schwer, aber scollen will man i.A. sowieso). (Tatsächlich ist der Mechanisms, der bewirkt, dass in einer ScrollPane der Header hinzugefügt wird, ziemlich abstrus… aber … Tabellen sind i.a. komplizierter, als man denkt…)

Zum 2.: Grundsätzlich steht das natürlich in https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting - das ist im Wiki noch nicht abgedeckt. Dort wird nach dem Text eines JTextFields gefiltert. Je nachdem, wie die Daten in der ComboBox bzw. Tabelle stehen (als String oder als java.util.Date?) würde das ähnlich (oder sogar genauso) gehen.

[quote=hornhauer]Wie genau muss ich vorgehen, wenn ich z. B. Oktober 2015 auswähle, dass in der JTable auch nur Einträge aus diesem Monat angezeigt werden?[/quote]https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#sorting

bye
TT

Moin,

[QUOTE=L-ectron-X]Für Frage 1 kannst du mal das Wiki konsultieren, dort gibt’s ein super JTable-Tutorial.
[/QUOTE]
Wirklich ein super Link :slight_smile:
Sowas hatte ich schon länger mal gesucht!

Danke und Gruß
Klaus