Hallo Experten,
ich habe in einem Frame eine JTable. Die Daten werden in einem DefaultTableModel verwaltet. Nun würde ich dem Benutzer gerne die Möglichkeit geben, Spalten der Tabelle zu löschen.
Bei Zeilen ist das mit dem DefaultTableModel ja kein Problem, aber wie geht das mit Spalten?
Habe schon etliche Male gegoogelt und mich rauf und runter in der API-Beschreibung zum DefaultTableModel gelesen - aber leider erfolglos. Das muss doch irgendwie gehen.
Gruß,
Benjamin
Hallo Benjamin,
ich habe in einem Frame eine JTable. Die Daten werden in einem
DefaultTableModel verwaltet. Nun würde ich dem Benutzer gerne
die Möglichkeit geben, Spalten der Tabelle zu löschen.
Bei Zeilen ist das mit dem DefaultTableModel ja kein Problem,
aber wie geht das mit Spalten?
Spalten verändern ist eine Eigenschaft des Views. Daher wirst Du keine entsprechenden Methoden im Model finden.
Der View ist in Deinem Fall eine JTable Instanz. Die Spalten werden wieder in einem entsprechenden Model verwaltet. Dieses beschreibt aber den View und nicht die Daten.
An das Spaltenmodell kommst Du über getColumnModel (siehe http://java.sun.com/j2se/1.3/docs/api/javax/swing/JT… ).
In dem TableColumnModel (siehe http://java.sun.com/j2se/1.3/docs/api/javax/swing/ta… )existiert die Methode removeColumn.
Nach Aufruf der Methode ist die entsprechende Spalte gelöscht.
Evtl. mußt Du noch in setAutoCreateColumnsFromModel auf false setzen.
Gruß,
Frank