title image


Smiley Spaltennamen einer JTable ändern
Hallo,





habe ein Problem mit meiner JTable. Dieser übergebe ich ein Objekt einer von AbstractTableModel abgeleiteten Klasse und ein DefaultTableColumnModel, welchem ich nach seiner Erzeugung zwei TableColumn-Instanzen hinzufüge. Meine Tabelle enthält immer genau zwei Spalten, aber eine variierende Anzahl von Zeilen.



Aus Gründen, die mir einfach nicht in die Birne wollen, werden in der zweiten Spalte immer genau die Werte aus der ersten Spalte angezeigt. Der Grund dafür liegt darin, dass in meinem Modell die Methode public Object getValueAt(int nRow, int nColumn) immer nur mit nColumn==0 aufgerufen wird. Warum nimmt nColumn nie den Wert 1 an?!?!



Füge ich zwischendrin Debug-Code ein, so sehe ich, dass sowohl mein Tabellen- als auch mein Spaltenmodell immer die zwei Spalten enthalten. Aber warum ruft das Framework beim Zugriff auf die Daten der zweiten Spalte die Daten der ersten ab?!?



Offensichtlich gibt es hier ein Problem mit dem Spaltenmodell, denn übergebe ich selbiges nicht an den Konstruktor, funktioniert alles bestens. Soweit wie ich sehen kann, ist mein Code korrekt:



DefaultTableColumnModel dtcm = new DefaultTableColumnModel();

m_TableColumnKey = new TableColumn();

m_TableColumnKey.setIdentifier("key");

dtcm.addColumn(m_TableColumnKey);

m_TableColumnValue = new TableColumn();

m_TableColumnValue.setIdentifier("value");

dtcm.addColumn(m_TableColumnValue);



Da ich das Spaltenmodell nur erzeuge, um den Spalten eigene Namen zu geben, wäre mir auch geholfen, wenn mir jemand verrät, wie ich das bewerkstellige, ohne am Spaltenmodell rumzufummeln. Der dazu geeignete Konstruktor von JTable scheidet aber aus, da ich die Spaltennamen auch nach der Erzeugung ändern möchte.





Danke & Gruß

Christian


________________________________________________________________

Je mehr wir wissen, um so tiefer schweigen wir und um so hoffnungsloser vereinsamen wir.
José Ortega y Gasset
________________________________________________________________
Mikroseite / Heimseite


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: