| 

.NET C# Java Javascript Exception

2
Ist es möglich das Datenmodell (=AbstractTableModel) für eine SWING Table Komponente in ein Datenmodell für eine Vaadin Table Komponente (=Container) zu konvertieren. Praktisch wäre eine generische Methode:
Container getContainer(AbstractTableModel myTableModel)
01.07.2014
mobidat 63 1 7
1 Antwort
0
Ich habe hier selbst probiert eine Lösung zu finden. Vielleicht hat jemand einen eleganteren Lösungsweg parat...?

import javax.swing.table.TableModel;

import com.vaadin.data.util.IndexedContainer;

/**
* @author mobidat
*
*/
public final class SwingConverter {
@SuppressWarnings("unchecked")
public static IndexedContainer convertTableToContainer(
TableModel myTableModel) {
// Create the container - Vaadin Container erzeugen
IndexedContainer container = new IndexedContainer();

// Create Container Properties - SpaltenTyp definieren
for (Integer columnIndex = 0; columnIndex < myTableModel
.getColumnCount(); columnIndex++) {
container.addContainerProperty(
myTableModel.getColumnName(columnIndex).toString(),
myTableModel.getColumnClass(columnIndex), null);
}


for (Integer rowIndex = 0; rowIndex < myTableModel.getRowCount(); rowIndex++) {

// Create Items - Zeile im Container neu generieren
Object itemId = container.addItem();

// Fill with TableModel Value - Zeile mit Werten aus TableModel füllen
for (Integer columnIndex = 0; columnIndex < myTableModel
.getColumnCount(); columnIndex++){
container.getContainerProperty(itemId, myTableModel.getColumnName(columnIndex).toString()).setValue(myTableModel.getValueAt(rowIndex, columnIndex));
}
}

return container;
}
}
09.08.2014
mobidat 63 1 7

Stelle deine Java-Frage jetzt!