I gefolgt von Oracle-Modell für die Implementierung eines AbstractJava Swing | extendiere AbstractTableModel und verwende es mit JTable | mehrere Fragen
Ich tat dies, weil meine Tabelle 3 Spalten enthalten hat, und das erste hat ein JCheckBox sein.
Hier ist mein Code:
public class FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel extends AbstractTableModel {
private String[] columnNames = {"Auswahl",
"Dateiname",
"Pfad"};
private Object[][] data = {
{new Boolean(true), "datei.tmp",
"/home/user/tmp"}
};
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
if (col == 0) {
return true;
} else {
return false;
}
}
public void setValueAt(Object value, int row, int col) {
data[row][col] = value;
fireTableCellUpdated(row, col);
}
}
Hier sind meine Fragen:
- Wie JTable (
new JTable(FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel)
) wissen, was die Spaltennamen und ihre Werte sind? Da es in meinem AbstractTableModel keinen Konstruktor gibt ?! Ist es cacaue columnNames und Daten müssen benannt werden wie sie sind und JTable greift auf sie zu? - Wie kann ich neue Werte in meine JTable einfügen? Seit columnNames und Daten sind Arrays. Kann ich sie durch Vektoren ersetzen? Wenn ja, wie initiiere ich diese Vektoren? In einem Konstruktor in myAbsTableModel?
Ich denke, es ist sehr einfach, eine Lösung zu bekommen, aber diese Tabelle Handhabung ist nicht trivial für mich, also vielen Dank!
Ich sehe nie eine Klasse mit so langen Namen, kann Ihr Umbenennungs ‚FestplattenreinigerGraphicalUserInterfaceHomePagePanelTableModel‘, um etwas mehr sinnvoll;)? –
Der Klassenname ist ein Witz, oder? Bald brauchst du einen Festplattenreiniger, wenn du mit solchen Namen weitermachst ;-) –
thx für deine nette Antwort, wenn ich dich minus eins kriegen könnte, würde ich das tun – JavaHater