Spalte aus JTable löschen

Status
Nicht offen für weitere Antworten.

cheepy

Mitglied
Moin,

mein Programm ruft über einem Button ein Fenster auf. In dem Fenster wird über Buttons von dem Benutzer die Tabelle erstellt(Spalten, Zeilen einfügen) und die Werte eingetragen. Jetzt habe ich einen Button, der soll eine Spalte, die selectiert ist, löschen. Leider wird diese Spalte zwar unsichtbar, aber der Anzahl der Spalten ist immer noch der selber.

Code:
cmdColumnDelete.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if(table.getSelectedColumn()!=-1){
                TableColumn tcol = table.getColumnModel().getColumn(table.getSelectedColumn());
                table.removeColumn(tcol);
                //Testen
               System.out.println("**Spalten**= "+tabModel.getColumnCount());
            }  
        }
    });


Würde mich auf jede Hilfe freuen!

Lieben Gruß, Cheepy
 

kleiner_held

Top Contributor
Du entfernst die Spalte ja am TableColumnModel und nicht am TableModel.
Das sind 2 unterschiedliche Objekte, also werden die Tests
Code:
System.out.println("TableModel= "+tabModel.getColumnCount());
System.out.println("TableColumnModel= "+table.getColumnModel().getColumnCount());
auch unterschiedliche Werte zurueckliefern.
 

André Uhres

Top Contributor
So können wird beim DefaultTableModel die letzte Spalte entfernen:
Code:
model.setColumnCount( model.getColumnCount() - 1 );
 

cheepy

Mitglied
ja diesen Ansatz habe ich auch schon ausprobiert, aber leider kann ich das nicht nutzen. Es wird immer die letzte Spalte gelöscht. Ich will das der benutzer die Spalte selectiert und diese wird mit einen Klick auf Button dann gelöscht.
 

Marco13

Top Contributor
Naja - "entfernt" wird sie darurch ja nicht. Schon ein bißchen absurd, dass nichtmal das DefaultTableModel eine Methode anbietet, eine (beliebige!) Spalte zu löschen .... :? Kann es sein, dass man dafür ein komplett neues TableModel erstellen [ EDIT: Bzw die Daten komplett neu setzen ] muss? ???:L :bahnhof:
 

André Uhres

Top Contributor
Eine Spalte aus dem TableModel entfernen heisst nichts anderes, als die entsprechenden Daten zu entfernen und fireTableStructureChanged() aufzurufen. Mit setColumnCount geht das relativ einfach, weil man nur die Grösse des Vectors ändern muss. Wenn es nicht die letzte Spalte ist, wird es wohl etwas aufwendiger.
 

Marco13

Top Contributor
Ja, scheint als müsste man da sowas machen wie
Code:
void removeColumn(int columnIndex, DefaultTableModel defaultTableModel)
{
    Vector columnIdentifiers = new Vector();
    for (int i=0; i<defaultTableModel.getColumnCount(); i++)
    {  
        columnIdentifiers.add(defaultTableModel.getColumnName(i);
    }
    columnIdentifiers.remove(columnIndex);
    Vector vector = defaultTableModel.getDataVector();
    for (int i=0; i<vector.size(); i++)
    {
        Vector row = (Vector)vector.get(i);
        row.remove(columnIndex);
    }
    defaultTableModel.setDataVector(vector, columnIdentifiers);
}
... wirkt aber kompliziert (und ist ungetestet!!!)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Spalte in JTable löschen AWT, Swing, JavaFX & SWT 4
H Swing Jtable extra spalte AWT, Swing, JavaFX & SWT 6
J JTable filtern nach einer Spalte AWT, Swing, JavaFX & SWT 2
G JTable als fixierte Spalte in Scrollpane scrollt nicht mit... AWT, Swing, JavaFX & SWT 1
Bartertown JTable - Verschiedene Komponenten in einer Spalte unterbringen AWT, Swing, JavaFX & SWT 3
S Swing JTable zusätzliche Spalte mit einer Checkbox einfügen AWT, Swing, JavaFX & SWT 7
P Swing Alle Zeilen einer Spalte (jTable) zusammen zählen und in eine eigene Zeile das Ergebnis schreiben. AWT, Swing, JavaFX & SWT 7
S JTable Spalte "normale" Breite? AWT, Swing, JavaFX & SWT 5
F JTable soll mit Buttons befüllt werden, aber nicht in jede Zelle einer Spalte AWT, Swing, JavaFX & SWT 3
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
N Swing JTable: Objekttyp einer Spalte nachträglich ändern AWT, Swing, JavaFX & SWT 6
A Swing Spalte in JTable ausblenden AWT, Swing, JavaFX & SWT 4
T JTable mit Renderer sortiert die gerenderte Spalte nicht richtig AWT, Swing, JavaFX & SWT 2
B JTable, Spalte nicht verschiebbar AWT, Swing, JavaFX & SWT 2
R JTable immer nur die letzte Spalte markiert.... AWT, Swing, JavaFX & SWT 4
S Swing JTable: in erster Spalte Image darstellen AWT, Swing, JavaFX & SWT 30
T JTable - Einzelne Spalte nicht sortieren? AWT, Swing, JavaFX & SWT 2
V JTable: Sortierung einer Spalte zum Programmstart? AWT, Swing, JavaFX & SWT 3
G JTable warten bis Spalte verschoben wurde AWT, Swing, JavaFX & SWT 2
R JTable: Zellen einer Spalte unterschiedlich befüllen AWT, Swing, JavaFX & SWT 2
G JTable in Spalte von anderer JTable nicht editierbar AWT, Swing, JavaFX & SWT 7
G Alle Werte einer Spalte in JTable zusammenrechnen AWT, Swing, JavaFX & SWT 2
J in JTable ganze Spalte editierbar machen AWT, Swing, JavaFX & SWT 17
J JTable ganze Spalte sperren AWT, Swing, JavaFX & SWT 6
mabe83 Kontinuierlich verbleibende Zeit in JTable Spalte anzeigen AWT, Swing, JavaFX & SWT 2
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
D JTable 1. Spalte fixieren AWT, Swing, JavaFX & SWT 3
E JTable nur die erste Spalte auswählbar? AWT, Swing, JavaFX & SWT 4
B JTable - Wechsel der Spalte bei TAB, RETURN oder Maus AWT, Swing, JavaFX & SWT 5
S Hintergrundfarbe in einer Spalte der JTable verändern AWT, Swing, JavaFX & SWT 3
A JTable: Zeit in Spalte ausgeben AWT, Swing, JavaFX & SWT 2
F JTable Spalte sortieren mit lauter JComboboxen ? AWT, Swing, JavaFX & SWT 15
S Checkbox oder String in JTable-Spalte AWT, Swing, JavaFX & SWT 4
U JTable Position der Spalte abfragen AWT, Swing, JavaFX & SWT 7
E JTable; Zeilen der ersten Spalte definieren? AWT, Swing, JavaFX & SWT 4
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
L Falsche Zeile gelöscht nach Spalte Sortierung in JTable AWT, Swing, JavaFX & SWT 2
L JTable (DefaultTableModel) nach Spalte sortieren-TableSorter AWT, Swing, JavaFX & SWT 2
S JTable Spalte hinzufügen AWT, Swing, JavaFX & SWT 3
J Spalte in JTable aus- und wieder einblenden AWT, Swing, JavaFX & SWT 10
Student JTable - eine fixe Spalte, der Rest scrollbar AWT, Swing, JavaFX & SWT 18
V JTable mit mehreren Componenten in einer Spalte ? AWT, Swing, JavaFX & SWT 6
D JTable Spalte unsichtbar machen AWT, Swing, JavaFX & SWT 6
missy72 JavaFX TableView Spalte zwischen den Zeilen AWT, Swing, JavaFX & SWT 5
G JavaFX TableView Wert in Spalte ändern AWT, Swing, JavaFX & SWT 0
N Warum ist die Spalte weg? AWT, Swing, JavaFX & SWT 61
L JavaFX TableView mit Attributs der Modellreferenzerierung für die Spalte AWT, Swing, JavaFX & SWT 3
M JavaFX TableView nach Spalte sortieren AWT, Swing, JavaFX & SWT 1
L Zwei String Array in eine Spalte einfügen AWT, Swing, JavaFX & SWT 1
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
L Swing Button in GridBackLayout positionieren und TitleBorder pro Spalte hinzufügen AWT, Swing, JavaFX & SWT 9
X Icons in einer Spalte darstellen AWT, Swing, JavaFX & SWT 6
B Swing DefaultTableModel, Checkbox in Spalte AWT, Swing, JavaFX & SWT 4
L Action listener in bestimmter spalte AWT, Swing, JavaFX & SWT 2
R JTree - Spalte aufklappen AWT, Swing, JavaFX & SWT 2
M JList von Beginn an sortiert nach Spalte ohne Klick? AWT, Swing, JavaFX & SWT 2
A Tabellen Spalte löschen AWT, Swing, JavaFX & SWT 6
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
slawaweis JXTreeTable, jede Spalte einzeln scrollbar machen? AWT, Swing, JavaFX & SWT 2
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
I SWT Größe einer Tabellenzeile, -spalte ändern AWT, Swing, JavaFX & SWT 8
mabe83 Swing: jTableCellRenderer -> Klappt nur bei String-Spalte AWT, Swing, JavaFX & SWT 2
A Icon,zentriert,Farbiger Text alles in einer Tabelle/Spalte ? AWT, Swing, JavaFX & SWT 4
W Spalte einer Tabelle as nicht editierbar setzen - wie ? AWT, Swing, JavaFX & SWT 2
W Wie setz ich beim TableRowSorter die zu sortierende Spalte AWT, Swing, JavaFX & SWT 4
C MouseListener für Spalte eines JTables AWT, Swing, JavaFX & SWT 4
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
D GridBagLayout: 2. Spalte auf JPanel-Breite expandieren AWT, Swing, JavaFX & SWT 2
M Spalte mit fortlaufener Zeit AWT, Swing, JavaFX & SWT 6
B Eine Spalte in drei verschiedenlange Spalten aufteilen AWT, Swing, JavaFX & SWT 2
Luma Spalte einer Tabelle ausblenden AWT, Swing, JavaFX & SWT 8
S TableTree - Tree nicht in erster Spalte AWT, Swing, JavaFX & SWT 5
F Ausrichtung einer Spalte ändern? AWT, Swing, JavaFX & SWT 4
L Erste Spalte eines JTables soll nicht editierbar sein. AWT, Swing, JavaFX & SWT 7
S fehlende spalte bei gridbaglayout AWT, Swing, JavaFX & SWT 7
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben