SWT Table mit Columns und Items

MichaelM

Mitglied
Hallo Leute,

mein Name ist Michael. Bin neu hier und hab auch erst angefangen mit Java.

Folgendes Problem beschäftigt mich.

Ich bekomme aus einer SQL Abfrage 2 Verktoren.

1. Verktor columnNames mit Spalten
2. Vektor rows mit Zeilen, dieser ist 2 dimensional.

Wenn ich jetzt einen neuen Table anlege, habe ich das problem, dass mir alle Zeilen in die erste Spalte geschrieben werden. Ich habe alles mögliche ausprobiert, komme aber nich drauf..

Hier ein Code-Snippet:

Java:
	for(int j=0;j<columnNames.size(); j++)
		{
			TableColumn column = new TableColumn(table, SWT.NONE);
			column.setText(columnNames.elementAt(j));				
		}

		for (int i=0; i<rows.size(); i++)
		{				
			 for (int j = 0;j<7; j++) 
			 {	
				 TableItem item = new TableItem (table, SWT.NONE);
				 item.setText(rows.get(i).get(j).toString());					
			 }
		}

So siehts aus:

http://img99.imageshack.us/img99/2843/tablew.jpg

Könnt ihr mir bitte einen Tipp geben ?

Danke

Michael
 
G

Gast2

Gast
Jap benutze einen TableViewer, falls du JFace benutzen darfst. Ist viel angenehmer und einfacher. Wenn ich daheim bin kann ich dir ja mal ein Bsp schicken...
 
G

Gast2

Gast
Also ich lege Tabellen immer so an:
Ich mach mir mein eigenes Composite,damit ich Spalten später in Prozent angeben kann(Spaltenbreite)
Java:
Composite tableComposite = new Composite(parent, SWT.NONE);
		TableColumnLayout tableColumnLayout = new TableColumnLayout();
		tableComposite.setLayout(tableColumnLayout);

Dann leg ich den Viewer an

Java:
TableViewer viewer  = new TableViewer(tableComposite,  SWT.SINGLE |SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

Dann die Tabelle

Java:
Table table = viewer.getTable();
//hier kannst noch einen Sorter setzen
viewer.setSorter();
table.setLinesVisible(true);
table.setHeaderVisible(true);

So und dann setz ich die Spalten

Java:
		String[] titles = {"ID","Name", "Vorname", "Tel.", "Handynummer"};
                 //Prozent angaben für die breite
		Integer [] percent = {10,25,25,20,20};
		
		for (int i=0; i<titles.length; i++) {
			final TableViewerColumn viewerNameColumn = new TableViewerColumn(viewer,SWT.NONE);
			viewerNameColumn.getColumn().setText(titles[i]);
			tableColumnLayout.setColumnData(viewerNameColumn.getColumn(), new ColumnWeightData (percent[i], 10, true ));
// falls du sortieren willst...
			viewerNameColumn.getColumn().addSelectionListener(new SelectionAdapter() {
				
				public void widgetSelected(SelectionEvent e) {
					int dir = viewer.getTable().getSortDirection();
					if (viewer.getTable().getSortColumn() == viewerNameColumn.getColumn()) {
						dir = dir == SWT.UP ? SWT.DOWN : SWT.UP;
					} else {

						dir = SWT.DOWN;
					}
					viewer.getTable().setSortDirection(dir);
					viewer.getTable().setSortColumn(viewerNameColumn.getColumn());
					viewer.refresh();
				}
			});
		}

So und nun kommt das entscheidene du musst der view sagen wie deine Daten darstellen.
Java:
// als Liste
viewer.setContentProvider(new ArrayContentProvider());
// und hier muss dein eigener provider rein...
viewer.setLabelProvider();

Bsp.
Java:
public class MyLabelProvider extends LabelProvider implements
		ITableLabelProvider {

	@Override
	public String getColumnText(Object element, int columnIndex) {
		MyObject myObject= (MyObject) element;
		switch (columnIndex) {
		case 0:
			return String.valueOf(myObject.getId());
		case 1:
			return myObject.getName();
		case 2:
			return myObject.getVorname();
		case 3:
			return myObject.getTel();
		case 4:
			return myObject.getHandynummer();
		default:
			throw new RuntimeException("Should not happen");
		}

	}

	@Override
	public Image getColumnImage(Object element, int columnIndex) {
		// TODO Auto-generated method stub
		return null;
	}

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
S SWT Table - Wie Columns hinzufügen / entfernen AWT, Swing, JavaFX & SWT 3
C Default table model aktualisieren AWT, Swing, JavaFX & SWT 7
J Anbindung Textfeldklasse an Table funktioniert nicht AWT, Swing, JavaFX & SWT 3
A JavaFX Daten in eine HTML-Table mit JS schreiben AWT, Swing, JavaFX & SWT 3
S JavaFX Boolean ändern Table View AWT, Swing, JavaFX & SWT 14
B JavaFX JavaFX Table gespeichertes Wert auswählen/anvisieren AWT, Swing, JavaFX & SWT 3
C TableModel zugehörige Table ermitteln AWT, Swing, JavaFX & SWT 3
T Table Renderer AWT, Swing, JavaFX & SWT 2
T Default Table wird nicht angezeigt AWT, Swing, JavaFX & SWT 15
E JavaFX Von der Table-Cell zur Row AWT, Swing, JavaFX & SWT 0
A JavaFX Table Delete Row AWT, Swing, JavaFX & SWT 5
N JavaFX Problem mit table multiple selection AWT, Swing, JavaFX & SWT 5
D JavaFX Table Filter AWT, Swing, JavaFX & SWT 4
R Swing JTable : Header der Spalten ergänzen mit caption (wie bei html-table) AWT, Swing, JavaFX & SWT 2
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
J JTabbedPane: table in new tab: tooltip benutzt die column-widths von table in erstem geöffneten tab AWT, Swing, JavaFX & SWT 17
G Border der Komponente bei Table CellRenderer überschreiben AWT, Swing, JavaFX & SWT 0
M MouseListener auf table oder scrollPane AWT, Swing, JavaFX & SWT 11
T SWT checkbox in table AWT, Swing, JavaFX & SWT 6
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
Z JavaFX Table mit MenuButton AWT, Swing, JavaFX & SWT 6
T SWT Table (mit Spinner Spalte) Daten auslesen AWT, Swing, JavaFX & SWT 4
E extended Swing Table AWT, Swing, JavaFX & SWT 2
J Einträge aus Table löschen ohne Exception AWT, Swing, JavaFX & SWT 6
T Table-Zeilen mit Thread einfärben AWT, Swing, JavaFX & SWT 15
E SWT Popupmenu auf der Überschrift eines swt.widgets.Table verhindern? AWT, Swing, JavaFX & SWT 3
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
reibi SWT SWT - Table AWT, Swing, JavaFX & SWT 8
A Swing JButton in einer Table Cell AWT, Swing, JavaFX & SWT 9
lumo SWT JFace Databinding +Custom Table AWT, Swing, JavaFX & SWT 2
M SWT - Table deselecten AWT, Swing, JavaFX & SWT 2
R SWT | Table | Zeilenkopf AWT, Swing, JavaFX & SWT 2
M SWT Table disabled und Scrollbar enabled AWT, Swing, JavaFX & SWT 11
C [SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen AWT, Swing, JavaFX & SWT 3
L Inhalt einer table löschen AWT, Swing, JavaFX & SWT 2
L Jbutton in table AWT, Swing, JavaFX & SWT 2
lumo SWT Table Selection Color +Focus Out AWT, Swing, JavaFX & SWT 14
S SWT Maximum an Items in Table? AWT, Swing, JavaFX & SWT 2
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
Q SWT Mindetsgröße für Table AWT, Swing, JavaFX & SWT 7
1 Swing manual resize table column to min size AWT, Swing, JavaFX & SWT 2
hdi SWT SWT Table: 2 kleine Probleme AWT, Swing, JavaFX & SWT 4
S SWT Table Größen verändern AWT, Swing, JavaFX & SWT 10
lumo SWT Table und Klassen AWT, Swing, JavaFX & SWT 14
lumo SWT Table CellEditor - knifflig AWT, Swing, JavaFX & SWT 35
L Java Table AWT, Swing, JavaFX & SWT 4
F Swing J(X)Table Spalten umsortieren NUR im View (Wie finde ich eine Spalte nach Name?) AWT, Swing, JavaFX & SWT 3
A SWT Table mit Bildern und Checkboxes AWT, Swing, JavaFX & SWT 4
A SWT Table hat keine Scrollbar AWT, Swing, JavaFX & SWT 12
A SWT Table clearAll() und zurücksetzen. AWT, Swing, JavaFX & SWT 3
K SWT Table Modell / Datenmodell AWT, Swing, JavaFX & SWT 14
T SWT - Table Events AWT, Swing, JavaFX & SWT 3
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
S swt table mit checkboxen: wie nachträglich im code setzen? AWT, Swing, JavaFX & SWT 6
S Seltsam: SWT Table zeigt keine Scrollbar an AWT, Swing, JavaFX & SWT 12
G SWT-Table sortieren AWT, Swing, JavaFX & SWT 12
T Input-Check bei Textfeldern in Table AWT, Swing, JavaFX & SWT 5
G SWT Table Controll AWT, Swing, JavaFX & SWT 7
L SWT-Table: Datum ausgeben? AWT, Swing, JavaFX & SWT 5
G Table in SWT AWT, Swing, JavaFX & SWT 2
S Table Row per Drag and Drop in andere Table schieben? AWT, Swing, JavaFX & SWT 14
K javax.swing.table.TableRowSorter AWT, Swing, JavaFX & SWT 13
I JComboBox in Table AWT, Swing, JavaFX & SWT 4
G wo wird die table mit daten gefüllt? oô AWT, Swing, JavaFX & SWT 4
S SWT Drag&Drop / Table AWT, Swing, JavaFX & SWT 9
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
S table - combobox AWT, Swing, JavaFX & SWT 7
D Selection SWT Table AWT, Swing, JavaFX & SWT 5
D SWT Table AWT, Swing, JavaFX & SWT 5
P Table Layout remove()? AWT, Swing, JavaFX & SWT 2
W Zeile in Table (SWT) selektieren und auslesen AWT, Swing, JavaFX & SWT 4
G Dringend ! SWT-Table übernimmt Änderung nicht AWT, Swing, JavaFX & SWT 2
L Multiline Table AWT, Swing, JavaFX & SWT 3
R SWT: Icons im Table vor den Einträgen AWT, Swing, JavaFX & SWT 3
T mit rechter maustaste Table row selektieren AWT, Swing, JavaFX & SWT 2
F Zeilenhöhe bei SWT Table AWT, Swing, JavaFX & SWT 3
S Nochmal Spaltenbriete im Table AWT, Swing, JavaFX & SWT 2
G mal wieder table. AWT, Swing, JavaFX & SWT 3
V SWT Table mit SWT.CHECK AWT, Swing, JavaFX & SWT 2
P SWT table updaten AWT, Swing, JavaFX & SWT 7
S Frage zu Table(Column)Model AWT, Swing, JavaFX & SWT 3
J ScrollPanel mit 2 Table`s AWT, Swing, JavaFX & SWT 5
J Table Model AWT, Swing, JavaFX & SWT 2
J Abstract Table Model AWT, Swing, JavaFX & SWT 7
T in einer Table soll jede zweite Zeile markiert werden AWT, Swing, JavaFX & SWT 3
E Inhalt einer Zelle eine Table in ein TextField bekommen AWT, Swing, JavaFX & SWT 24
D Columns unabhängig voneinander mit Daten füllen JavaFx AWT, Swing, JavaFX & SWT 1
L Columns in JTable ein / ausblenden AWT, Swing, JavaFX & SWT 1
D JTable Columns wollen einfach nicht resizen AWT, Swing, JavaFX & SWT 5
T SWT TreeViewer select columns AWT, Swing, JavaFX & SWT 2
B Swing JTable - Datenfelder als Columns AWT, Swing, JavaFX & SWT 3
R Rows und Columns in JTable verschieben? AWT, Swing, JavaFX & SWT 8
B [JTable] kein Sortieren der versteckten Columns AWT, Swing, JavaFX & SWT 9
K Columns in einer JTable umsortieren. AWT, Swing, JavaFX & SWT 7
J CheckComboBox : Ausgewählte Items NICHT im Header anzeigen AWT, Swing, JavaFX & SWT 4
J JavaFX TabPane / Wie füge ich einzelne items ? AWT, Swing, JavaFX & SWT 1
J CheckComboBox selected Items nicht anzeigen AWT, Swing, JavaFX & SWT 6
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben