p1ttypl4tsch
Grünschnabel
Hallo
ich habe eine JTable, mit einem TableModel vom DefaultTableModel abgeleitet.
Nachdem ich mich schon mit der Suche (Google und Tutorials.de) vergnügt habe, bleiben dazu noch drei Fragen/Probleme.
1. Wie bekomme ich es hin, dass Werte, die ich in die einzelnen Zellen eingebe auch da stehen bleiben? Bei mir verschwinden sie sofort wieder und der Standard-Wert steht wieder drin.
2. Ich möchte die erste Spalte (H1, nicht editierbar) rechtsbündig machen, die anderen beiden jedoch zentriert(H2, H3, editierbar); geht das? und wenn ja wie? Und kann ich die neuen Werte dann auch wieder auslesen?
3. Die zweit und dritte Spalte soll mehrzeilig werden. Wie realisiere ich das?
Bitte verständlich erklären, da es das erste mal ist, dass ich mit JTable etwas mache und ich auch sonst noch recht neu in Java bin ...
danke schonmal
ich habe eine JTable, mit einem TableModel vom DefaultTableModel abgeleitet.
Nachdem ich mich schon mit der Suche (Google und Tutorials.de) vergnügt habe, bleiben dazu noch drei Fragen/Probleme.
1. Wie bekomme ich es hin, dass Werte, die ich in die einzelnen Zellen eingebe auch da stehen bleiben? Bei mir verschwinden sie sofort wieder und der Standard-Wert steht wieder drin.
2. Ich möchte die erste Spalte (H1, nicht editierbar) rechtsbündig machen, die anderen beiden jedoch zentriert(H2, H3, editierbar); geht das? und wenn ja wie? Und kann ich die neuen Werte dann auch wieder auslesen?
3. Die zweit und dritte Spalte soll mehrzeilig werden. Wie realisiere ich das?
Bitte verständlich erklären, da es das erste mal ist, dass ich mit JTable etwas mache und ich auch sonst noch recht neu in Java bin ...
danke schonmal
Code:
public Plan_Frame() {
super("Tabelle");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
// Spaltenmodell erzeugen
DefaultTableColumnModel cm = new DefaultTableColumnModel();
for (int i = 0; i < HEADER.length; ++i) {
TableColumn col = new TableColumn(i, i == 0 ? 60 : 200);
col.setHeaderValue(HEADER[i]);
col.setResizable(false);
cm.addColumn(col);
}
// Tabellenmodell erzeugen
dtm = new DefaultTableModel(1,3){
public boolean isCellEditable(int row, int column) {
if (column > 0) {
return true;
} else {
return false;
}
}
public Object getValueAt(int row, int column){
return DATA[row][column];
}
};
// Tabelle erzeugen und ContentPane füllen
table = new JTable(dtm, cm);
table.setRowSelectionAllowed(false);
table.setColumnSelectionAllowed(false);
Container cp = getContentPane();
cp.add(new JLabel("Tabellenüberschrift:"), BorderLayout.NORTH);
cp.add(new JScrollPane(table), BorderLayout.CENTER);
}
public static final String[] HEADER = { "H1", "H2","H3" };
public static final String[][] DATA = { { "1", "", "" } };