Hallo,
ich versuche eine Spalte in einer tabelle zu einfügen, es hat schon geklappt aber wenn ich die Zellen-Inhalt von der new spalte ändere, dann ändert sich auch die Zellen-Inhalt von der erste spalte.
was mache ich falsch? merci.
so sieht’s die Class aus:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
class TableHeaderTest {
static JTable table ;
public static void main(String[] args) {
// JTable initialisieren und mit Inhalt füllen; siehe dazu Teil 2
table = new JTable(new String[][]{{„1“, „2“, „3“},{„4“, „5“, „6“}}, new String[]{„A“, „B“, „C“});
// JTableHeader holen
JTableHeader header = table.getTableHeader();
// ColumnModel holen:
TableColumnModel columnModel = header.getColumnModel();
// TableColumn erstellen
TableColumn aColumn = new TableColumn();
// setHeaderValue() setzt den Titel
aColumn.setHeaderValue(„D“);
// modelIndex zeigt an von welcher Spalte im DatenModel die neue Spalte ihre Werte holen soll
//aColumn.setModelIndex(1); // Index 1 im Model
columnModel.addColumn(aColumn);
// spalten nicht resizable machen, nicht zulassen dass die spaltenreihenfolge geändert werden kann
header.setResizingAllowed(false);
header.setReorderingAllowed(false);
// JFrame konstruieren
JFrame frame = new JFrame(„JTableHeader test“);
// Table in JScrollPane einfügen und dem Frame hinzufügen
frame.getContentPane().add(new JScrollPane(table));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setVisible(true);
}
}
Gruss.
hicham