SWT refresh einer Tabelle

calmar

Mitglied
Hallo,

habe eine tabelle, in der ich ein set von objekten darstelle. solange ich ein set verwende funktioniert das refresh.

jetzt habe ich mir gedacht, es ist übersichtlicher, wenn ich die werte sortiere - ich übergebe jetzt eine liste mit den objekten nach einem kriterium sortiert.

wenn ich die tabelle aufmache sieht alles schön aus - aber wenn ich werte aus der tabelle entferne (funktion bei mir bei einem button hinterlegt) aktualisiert sich die tabelle nicht mehr:

hier meine relevanten codeteile:

Java:
	public void createTablePlaetze(Composite shell) {
		tableViewerPlaetze = new TableViewer(shell, SWT.BORDER
				| SWT.FULL_SELECTION);
		tableViewerPlaetze.getTable().setLayoutData(
				new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
		TableLayout layout = new TableLayout();
		layout.addColumnData(new ColumnWeightData(25, 100, true));
		layout.addColumnData(new ColumnWeightData(25, 100, true));
		layout.addColumnData(new ColumnWeightData(25, 100, true));
		layout.addColumnData(new ColumnWeightData(25, 100, true));
		tableViewerPlaetze.getTable().setLayout(layout);
		tableViewerPlaetze.getTable().setLinesVisible(true);
		tableViewerPlaetze.getTable().setHeaderVisible(true);

		tableViewerPlaetze.setContentProvider(new ArrayContentProvider());
		tableViewerPlaetze.setLabelProvider(new ITableLabelProvider() {

			@Override
			public Image getColumnImage(Object arg0, int arg1) {
				return null;
			}

			@Override
			public String getColumnText(Object element, int index) {
				Platz platz = (Platz) element;
				switch (index) {
				case 0:
					return platz.getReihe().getBezeichnung().toString();
				case 1:
					return platz.getNummer().toString();
				case 2:
					return platz.getKategorie().getBezeichnung().toString();
				case 3:
					int price = KundeEditor.this.calculateSinglePrice(platz);
					String singlePrice = "";
					singlePrice += price;
					return singlePrice;
				}

				return null;
			}

			@Override
			public void addListener(ILabelProviderListener listener) {
				// nothing to do
			}

			@Override
			public void dispose() {
				// nothing to do
			}

			@Override
			public boolean isLabelProperty(Object arg0, String arg1) {
				return true;
			}

			@Override
			public void removeListener(ILabelProviderListener arg0) {
				// nothing to do
			}
		});

		TableColumn colReihe = new TableColumn(tableViewerPlaetze.getTable(),
				SWT.LEFT);
		colReihe.setText("Reihe");
		TableColumn colNummer = new TableColumn(tableViewerPlaetze.getTable(),
				SWT.LEFT);
		colNummer.setText("Nummer");
		TableColumn colKategorie = new TableColumn(tableViewerPlaetze.getTable(),
				SWT.LEFT);
		colKategorie.setText("Kategorie");
		TableColumn colPreis = new TableColumn(tableViewerPlaetze.getTable(),
				SWT.LEFT);
		colPreis.setText("Preis");

		this.createSetTransaktionBackButton(shell);
		this.createDeletePlatzButton(shell);
		Label lblEmpty = new Label(shell,SWT.LEFT); 
		lblEmpty.setText("");
		lblEmpty = new Label(shell,SWT.LEFT); 
		lblEmpty.setText("");
		lblEmpty = new Label(shell,SWT.LEFT); 
		lblEmpty.setText("");
		this.createSellReservierungButton(shell);

Java:
this.createTablePlaetze(shell);
				
				IPlatzService ips = new PlatzService(); 
				//this.tableViewerPlaetze.setInput(ips.sortSetPlatz(tmpTransaktion.getPlaetze()));
				this.tableViewerPlaetze.setInput(tmpTransaktion.getPlaetze());
				shell.open();

bei der auskommentierten zeile uebergebe ich die liste mit den sortierten werten
Java:
	public void deletePlatzfromTrasaction(){
		ISelection selectionTransaktion =  this.tableViewerPlaetze.getSelection();
		Platz platz = (Platz) ((IStructuredSelection) selectionTransaktion).getFirstElement();
		log.debug("Chosen Platz: "+platz.toString()); 

		boolean delete = MessageDialog.openQuestion(KundeEditor.this.getSite()
				.getWorkbenchWindow().getShell(),
				"Entfernen best�tigen", "Wollen Sie den Platz " + platz.getNummer().toString()
				+ " wirklich entfernen?");
		if(delete == true){
			tmpPlaetze.add(platz);
			Set<Platz>  plaetze = tmpTransaktion.getPlaetze();
			plaetze.remove(platz);
			tmpTransaktion.setPlaetze(plaetze);
			tableViewerPlaetze.refresh(true);
			lblGesamtpreis.setText("Gesamtpreis der Reservierung: "+this.updatePreis(tmpTransaktion)); 
		}
	}

in dieser methode wird das refresh aufgerufen...

irgendwie sehe ich den fehler einfach nicht - bitte um hilfe!

danke!:)
 

Wildcard

Top Contributor
jetzt habe ich mir gedacht, es ist übersichtlicher, wenn ich die werte sortiere - ich übergebe jetzt eine liste mit den objekten nach einem kriterium sortiert.
Es ist nicht notwendig die Liste zu sortieren. Setze dem Viewer stattdessen einen Sorter.

wenn ich die tabelle aufmache sieht alles schön aus - aber wenn ich werte aus der tabelle entferne (funktion bei mir bei einem button hinterlegt) aktualisiert sich die tabelle nicht mehr:
Java:
            Set<Platz>  plaetze = tmpTransaktion.getPlaetze();
            plaetze.remove(platz);
            tmpTransaktion.setPlaetze(plaetze);
Ist plaetze die gleiche Instanz die du bei setInput übergeben hast?
Vermutlich nicht, daher hat der Viewer auch immer noch die gleiche Liste.
Mein Tipp, mach dein Modell von Anfang an mit EMF, dann hast du nicht nur ein besseres Modell, sondern du bekommst auch gleich einen ContentProvider und LabelProvider mit dazu der die Viewer automatisch aktualisiert wenn sich das Modell ändert.
Eclipse Modeling - EMF - Home
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
dzim NullPointer bei refresh() einer JFace TableViewer AWT, Swing, JavaFX & SWT 2
Juelin Objekte refresh AWT, Swing, JavaFX & SWT 3
J TableView Update/Refresh CPU AWT, Swing, JavaFX & SWT 2
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
Tort-E JavaFX Stage reload, refresh ... AWT, Swing, JavaFX & SWT 3
D ComboBoxCellEditor Refresh beim Focus AWT, Swing, JavaFX & SWT 4
T JTable Cell Refresh AWT, Swing, JavaFX & SWT 5
RELAXccc Swing JTree + JScrollPane, refresh Problem AWT, Swing, JavaFX & SWT 17
J SWT Globale Refresh-Aktion programmtechnisch aufrufen AWT, Swing, JavaFX & SWT 6
L Probleme beim Refresh von JTable AWT, Swing, JavaFX & SWT 7
F SWT table refresh per Thread AWT, Swing, JavaFX & SWT 2
K SWT TableViewer refresh() im Dialog AWT, Swing, JavaFX & SWT 2
M JRadioButton refresh AWT, Swing, JavaFX & SWT 5
M SWT grabExcessHorizontalSpace update ? refresh ? AWT, Swing, JavaFX & SWT 6
S Refresh von JTableModel funktioniert nur ein Mal AWT, Swing, JavaFX & SWT 4
D JList, JTree, JTextarea - Daten"refresh" AWT, Swing, JavaFX & SWT 15
L JFrame Refresh-Problem AWT, Swing, JavaFX & SWT 4
A Refresh JPanel AWT, Swing, JavaFX & SWT 6
R Refresh Label AWT, Swing, JavaFX & SWT 4
J Expertenfrage zu Refresh nach hinzufuegen von Componeten? AWT, Swing, JavaFX & SWT 8
Lazybone JTree refresh Problem AWT, Swing, JavaFX & SWT 3
X Focusproblem beim Refresh eines jLabels AWT, Swing, JavaFX & SWT 4
F Paint-Methode Überschreiben macht Refresh-Fehler ? AWT, Swing, JavaFX & SWT 8
D jTabbedPane refresh AWT, Swing, JavaFX & SWT 2
S Display Refresh AWT, Swing, JavaFX & SWT 2
X Refresh eines Frames AWT, Swing, JavaFX & SWT 1
P JFrame refresh AWT, Swing, JavaFX & SWT 2
m@nu JTree: Äste nach refresh wiederherstellen AWT, Swing, JavaFX & SWT 3
M Wi mache ich einen refresh AWT, Swing, JavaFX & SWT 4
C GUI-Refresh funktioniert nicht AWT, Swing, JavaFX & SWT 3
D JList Refresh AWT, Swing, JavaFX & SWT 19
MiMa Optimieren einer Methode zum Zentrieren von Fenstern AWT, Swing, JavaFX & SWT 0
T VerifyListener - Ersetzen einer 0 AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
N Dropshadow setzen bei einer Gruppe von Tiles, die sich jeweils in einer Stackpane befinden, welche in einer Gridpane angeordnet sind. AWT, Swing, JavaFX & SWT 0
M Daten zufällig Einlesen aus einer Datei (binäres Format) AWT, Swing, JavaFX & SWT 7
ExceptionOfExpectation Mit einer laufenden GUI Applikation eine Datei in dem Rechner löschen AWT, Swing, JavaFX & SWT 2
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
Linjutsu Den Inhalten aus einer ArrayList Bilder zuweisen (Kartenspiel) AWT, Swing, JavaFX & SWT 8
H JavaFX Timeline II: Verschieben einer ImageView AWT, Swing, JavaFX & SWT 16
I Hilfe bei dem Erstellen einer SQL Abfrage aus gewählten JComboBoxen AWT, Swing, JavaFX & SWT 5
L Swing TextPanel Schrift untereinander und auf einer Höhe AWT, Swing, JavaFX & SWT 3
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
Ernesto95 JavaFX Return Value nach Beendigung einer Animation AWT, Swing, JavaFX & SWT 15
melaniemueller Wortliste in einer Datei ablegen AWT, Swing, JavaFX & SWT 12
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
U Was genau ist das Objekt einer affinentransformation? AWT, Swing, JavaFX & SWT 1
B JavaFX Prüfen ob ein Objekt sich mehrmals in einer Liste befindet AWT, Swing, JavaFX & SWT 5
mac2010 JavaFX Einbindung einer Karte AWT, Swing, JavaFX & SWT 1
donnico2 Objekte in der GUI ausgeben mit Hilfe einer DAO AWT, Swing, JavaFX & SWT 1
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
J Ablaufsteuerung/Anleitung machen mit JDialog und einer Zustandsmaschine AWT, Swing, JavaFX & SWT 1
missy72 JavaFX Wiederholen einer IF-Abfrage beim erneuten Öffnen einer Stage AWT, Swing, JavaFX & SWT 11
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
S JavaFX - mit Listener Veränderungen in einer TableView abhören AWT, Swing, JavaFX & SWT 3
missy72 JavaFX ObservableList in einer ArrayList speichern. AWT, Swing, JavaFX & SWT 7
HoT Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle AWT, Swing, JavaFX & SWT 3
kodela Swing Element einer JComboBox ausgrauen AWT, Swing, JavaFX & SWT 3
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
N Einer TextArea ein ScrollPane hinzufügen AWT, Swing, JavaFX & SWT 8
L JavaFX Exception nach includieren einer fxml // nested controller AWT, Swing, JavaFX & SWT 1
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
G Verknüpfung einer pdf Datei AWT, Swing, JavaFX & SWT 2
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
N Wie kann ich zwei Grafiken in einer Oberfläche anzeigen lassen? AWT, Swing, JavaFX & SWT 8
@SupressWarnings() JavaFX Auf den Controller einer ListCell zugreifen AWT, Swing, JavaFX & SWT 4
Drachenbauer Swing Wie ändere ich den Hintergrund vom Anzeigefeld einer JComboBox, die nicht zum Hineinschreiben offen steht? AWT, Swing, JavaFX & SWT 32
H 3 verschiedene Nachrichten in einer FXML View die Infos kommen aus DB AWT, Swing, JavaFX & SWT 4
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S Java GUI durch variable Größe einer Map anpassen AWT, Swing, JavaFX & SWT 3
B Textfelder in einer ListView ausgeben AWT, Swing, JavaFX & SWT 13
J Searchfunktion auf einer MS Access Datenbank AWT, Swing, JavaFX & SWT 7
B Text im Tetfeld in einer TableView darstellen AWT, Swing, JavaFX & SWT 20
M Inhalte einer FlowPane AWT, Swing, JavaFX & SWT 4
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
E Prinzip: wie man Ereignisse in einer GUI verarbeit. Frage zum Design? AWT, Swing, JavaFX & SWT 10
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
1 Swing Progressbar benutzen um Fortschritt einer Methode anzuzeigen AWT, Swing, JavaFX & SWT 4
K JavaFX ViewTable mit einer LinkedList befüllen AWT, Swing, JavaFX & SWT 3
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
D Java FX Image in einer Webanwendung annotieren und den Bereich ausschneiden AWT, Swing, JavaFX & SWT 0
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L JavaFX Problem beim Aufrufen einer Methode AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
MiMa Selektion aus einer ListView AWT, Swing, JavaFX & SWT 5
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben