Hallo Zusammen,
ich würde gerne eine Tabelle mit einem Header und darunter eine Filtermöglichkeit implementieren. Die erste Zeile der Tabelle soll keine Daten enthalten.
Habe wie im Beispiel zu sehen mal zwei unterschiedliche Tabelle per Layout verschachtelt.
Wie könnte folgende Punkte realisieren / verbessern:
1. Aktuell liegt die Scrollbar über allen Zeilen (auch die der Filtertabelle). Hier wäre es schön wenn die Filtertabelle fix wie der Tabellenheader wäre und nur in den Daten gescrollt werden könnte.
2. Verschieben von Spalten. Sollte eine Spalte verschoben werden so sollen auch die Spalte der Filtertabelle sich mit verschieben.
Andere Umsetzungsideen sind willkommen.
Danke für eure Hilfe
ich würde gerne eine Tabelle mit einem Header und darunter eine Filtermöglichkeit implementieren. Die erste Zeile der Tabelle soll keine Daten enthalten.
Java:
public class MultiTableHeader extends JFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("MultiTableHeader");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Erstellen Sie eine Tabelle mit den Daten
Vector<Vector<String>> data = new Vector<>();
Vector<String> rowData1 = new Vector<>();
rowData1.add("Bugs");
rowData1.add("Bunny");
Vector<String> rowData2 = new Vector<>();
rowData2.add("Donald");
rowData2.add("Duck");
data.add(rowData1);
data.add(rowData2);
Vector<String> columnNames = new Vector<>();
columnNames.add("Vorname");
columnNames.add("Nachname");
JTable table = new JTable(data, columnNames);
JTable filterTable = new JTable(new DefaultTableModel(columnNames, 1));
JPanel panel = new JPanel( new BorderLayout());
panel.add(table, BorderLayout.CENTER);
JPanel pnl = new JPanel(new BorderLayout());
pnl.add(filterTable, BorderLayout.PAGE_START);
panel.add(pnl, BorderLayout.PAGE_START);
JScrollPane scrollPane = new JScrollPane(panel);
scrollPane.setColumnHeaderView(table.getTableHeader());
frame.add(scrollPane);
frame.pack();
frame.setVisible(true);
}
}
Habe wie im Beispiel zu sehen mal zwei unterschiedliche Tabelle per Layout verschachtelt.
Wie könnte folgende Punkte realisieren / verbessern:
1. Aktuell liegt die Scrollbar über allen Zeilen (auch die der Filtertabelle). Hier wäre es schön wenn die Filtertabelle fix wie der Tabellenheader wäre und nur in den Daten gescrollt werden könnte.
2. Verschieben von Spalten. Sollte eine Spalte verschoben werden so sollen auch die Spalte der Filtertabelle sich mit verschieben.
Andere Umsetzungsideen sind willkommen.
Danke für eure Hilfe