Musicman75
Grünschnabel
Hallo,
ich bin hier gerade am verzweifeln.
Ich muss in meinem Praktikum eine RCP Anwendung mit Eclipse erstellen.
Nun versuche eine JTable mit Inhalt zu füllen. Wenn ich nur eine Spalte ausgebe, wird diese auch korrekt angezeigt. Wenn ich nun allerdings mehrere Spalten ausgeben will, bekomme ich nur die Objekttypen angezeigt.
Hier der Code, welcher mir den Inhalt liefert (ContentProvider):
Und hier noch der Code, welcher in meiner View für die Ausgabe sorgen soll:
Das gesamte Eclipse Projekt ist im Anhang.
Vielen Dank für jeden Hinweis.
ich bin hier gerade am verzweifeln.
Ich muss in meinem Praktikum eine RCP Anwendung mit Eclipse erstellen.
Nun versuche eine JTable mit Inhalt zu füllen. Wenn ich nur eine Spalte ausgebe, wird diese auch korrekt angezeigt. Wenn ich nun allerdings mehrere Spalten ausgeben will, bekomme ich nur die Objekttypen angezeigt.
Hier der Code, welcher mir den Inhalt liefert (ContentProvider):
Code:
public Object[] getElements(Object inputElement) {
if (!(inputElement instanceof JTable)) {
throw new IllegalArgumentException("can only handle jTables!");
}
JTable tab = (JTable)inputElement;
Object[] rowItems = new Object[tab.getColumnCount()];
Object[] lineItems = new Object[tab.getRowCount()];
for (int j = 0; j < rowItems.length; j++) {
for (int i = 0; i < lineItems.length; i++) {
lineItems[i] = tab.getValueAt(i, j);
}
rowItems[j] = lineItems;
}
return rowItems;
}
Und hier noch der Code, welcher in meiner View für die Ausgabe sorgen soll:
Code:
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
JTable table = new JTable(data, columnNames);
viewer = new TableViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL |SWT.V_SCROLL);
getSite().setSelectionProvider(viewer);
viewer.setLabelProvider(new LabelProvider());
viewer.setContentProvider(new JTableContentProvider());
viewer.setInput(table);
}
Das gesamte Eclipse Projekt ist im Anhang.
Vielen Dank für jeden Hinweis.