Hallo,
ich habe iene Tabelle, die ohne einen TableModel eingelegt wurde. Wie kann ich eine solche Tabelle aktualisieren (ohne fireChange.....). Die Tabelle beinhaltet swing-Componeneten: JButtons usw.:
ich habe iene Tabelle, die ohne einen TableModel eingelegt wurde. Wie kann ich eine solche Tabelle aktualisieren (ohne fireChange.....). Die Tabelle beinhaltet swing-Componeneten: JButtons usw.:
Code:
private javax.swing.JTable getTableAggregateTermine() {
tableAggregateTermine = null;
if (tableAggregateTermine == null) {
tableAggregateTermine = new javax.swing.JTable(new Object[37][19], COLUMNNAMES) {
public TableCellRenderer getCellRenderer(int row, int column) {
TableColumn tableColumn = getColumnModel().getColumn(column);
TableCellRenderer renderer = tableColumn.getCellRenderer();
System.out.println(("renderer" + renderer));
if (renderer == null) {
Class c = getColumnClass(column);
if (c.equals(Object.class)) {
Object o = getValueAt(row, column);
if (o != null)
c = getValueAt(row, column).getClass();
}
renderer = getDefaultRenderer(c);
}
return renderer;
}
public TableCellEditor getCellEditor(int row, int column) {
TableColumn tableColumn = getColumnModel().getColumn(column);
TableCellEditor editor = tableColumn.getCellEditor();
if (editor == null) {
Class c = getColumnClass(column);
if (c.equals(Object.class)) {
Object o = getValueAt(row, column);
if (o != null)
c = getValueAt(row, column).getClass();
}
editor = getDefaultEditor(c);
}
return editor;
}
public String getColumnName(int column) {
return COLUMNNAMES[column];
}
};
// Checkboxes
tableAggregateTermine.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//tableAggregateTermine.setDe
for (int i = 0; i < COLUMNWIDTH.length; i++) {
TableColumn col = tableAggregateTermine.getColumnModel().getColumn(i);
col.setResizable(true);
col.setPreferredWidth(COLUMNWIDTH[i] * IConstants.CHAR_WIDTH);
}
MultiLineHeaderRenderer.setMultiLineHeader(tableAggregateTermine);
tableAggregateTermine.setRowHeight(20);
ButtonGroup g1 = new ButtonGroup();
//tableAggregateTermine.setModel(this);
for (int i = 0; i < dummyDatenPEMs.size(); i++) {
//for (int j = 0; j < DUMMYDATEN[i].length; j++) {
System.out.println(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getBaiE());
JTextField textFieldBAIE = new JTextField(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getBaiE());
JButton buttonPEM = new JButton(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getPem());
JTextField textFieldPEM = new JTextField(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getPem());
buttonPEM.addActionListener(this);
JTextField textFieldSNR = new JTextField(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getSnr());
JTextField textFieldSerienbedarfstermin =
new JTextField(((StatusanzeigeModel) dummyDatenPEMs.get(i)).getSerienbedarfstermin());
JTextField textFieldColor = new JTextField();
//textFieldColor.setBackground(COLORS[i]);
tableAggregateTermine.setValueAt(textFieldBAIE, i, 0);
if (((StatusanzeigeModel) dummyDatenPEMs.get(i)).isSnrObject() == true)
tableAggregateTermine.setValueAt(textFieldPEM, i, 1);
else
tableAggregateTermine.setValueAt(buttonPEM, i, 1);
tableAggregateTermine.setValueAt(textFieldSNR, i, 2);
tableAggregateTermine.setValueAt(textFieldSerienbedarfstermin, i, 3);
}
tableAggregateTermine.setDefaultRenderer(JComponent.class, this);
tableAggregateTermine.setDefaultEditor(JComponent.class, new JComponentCellEditor());
}
return tableAggregateTermine;
}
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
JComponent component = (JComponent) value;
return component;
}