SWT Table und Klassen

lumo

Top Contributor
hallo

gibts ne mölichkeit, dass ich einen tableitem erstelle, der im hintergrund die daten einer klasse hat
und das label dann klasse xx über eine von mir definierte funktion repräsentiert?

wenn ich nämlich mein objekt in ein stringarray umforme beginnt der kampf mit den informationen...

beispiel calendar, der user will eine repräsentation MM.DD.YYYY der andere will aber YYYY.MM.DD etc...
hab ich nur strings ist das ein problem, hab ich aber den calendar, dann kann ich das einfach umformen...


any ideas?
 

Michael...

Top Contributor
kenn mich mit SWT nicht aus und weiss daher auch nicht was ein tableitem ist, aber da Swing sowas kann müsste SWT sowas erst recht können.
In Swing ist der TableCellRenderer für die Darstellung der Inhalte zuständig.
 

lumo

Top Contributor
um einen cellrenderer aka cellLabelProvider zu verwenden muss ich in swt einen TableViewer auf meine tabelle setzen, das will ich aber nicht, da mir dieser etliche freiheiten nimmt...

ev. sollte ich mir mal den tableviewer anschauen und den ev. umschreiben....

EDIT: ich dreh hier noch durch, der tableviewer ist (fünfte oder mehr vererbte klasse... :shock:)
gibts doch nicht, dass NIEMAND vor mir mit java eine applikation geschrieben hat in der der grid/table richtig gefordert wird...
 
Zuletzt bearbeitet:

lumo

Top Contributor
so, hab jetzt endlich die richtige visualisierun...
und, als toller nebeneffekt... jetzt funktioniert der TableCursor nicht mehr:shock:;(???:L:eek::autsch::pueh:
 

Koringar

Bekanntes Mitglied
Hi lumo,

was willste denn genau machen mit der Table? Denn was ich alles von dem TableViewer bis jetzt gesehen habe, bietet er genau die Funktionalität wie du sie beschrieben hast.
Also das die Table die Daten im Hintergrund in einer Klasse hält und dann durch den Lable- und ContentProvider die Daten zum darstellen liefert (so wie du sie haben willst).
 

Wildcard

Top Contributor
um einen cellrenderer aka cellLabelProvider zu verwenden muss ich in swt einen TableViewer auf meine tabelle setzen, das will ich aber nicht, da mir dieser etliche freiheiten nimmt...
Welche Freiheiten denn? Die JFace Viewer sind erstklassige Stücke Software und genau für das ausgelegt was du hier beschreibst.
 

lumo

Top Contributor
bsp, ich will die zeilen der tabelle in unterschiedlichen farben.
nun werden die daten allerdings nicht zeilenweise eingegeben sondern per
.setInput(List<Object>).
somit keine kontrolle mehr was passiert (oder fehlt mir hier wissen?)

ad labelprovider. ich hätte gerne checkboxen, scheint nicht möglich zu sein???

wenn mir jemand ein kleines beispiel schreiben kann wie das dennoch funktioniert, würde ich mich freuen...

ich habe verschiedene datentypen:
String, Boolean, Integer, Double, Calendar
wobei jeder der werte entweder belegt oder null sein darf. wenn null, dann soll der editor disabled sein, und der label eine leere weisse zelle anzeigen.
ich habe eigene conrols, die die eingabe abfragen (können auch durch popup-window angezeigt werden - hätte ich auch schon implementiert) es fehlt also nur ein editor, der einen key und mouselistener annimmt und ich dadurch mein popup öffnen kann... (in die tabelle passen meine controls nicht rein, sind zu groß)

any help wellcome
danke schon mal

PS: ich hatte den tableviewer schon mal auf meiner tabelle... (dito mit label und editorprovider)
 

Koringar

Bekanntes Mitglied
So die Antwort wird etwas Länger ;),

1. Der TableViewer ist nur eine Erweiterung von JFace für die Tabelle, das bedeutet alles was du mit der Table machen kannst, kannste auch mit dem Viewer.
2. Die Kontrolle was passiert hast du mit dem Label- und ContentProvider.

Dann mal die konkrete Anwort auf deine Probleme:
Zeilenfarbe: Jop hast recht das man den gesamten Inhalt mit 'setInput()' setzt. Jedoch erzeugt er damit die ganzen TableItem's auf der Table. Das bedeutet das du nach dem 'setInput()' auf den TableViewer 'getTable()' (wenn du die Table nicht schon hast) machen kannst und dann bei dieser Table mit 'getItem()' das Table Item bekomm und es ändern, wenn du willst. Jedoch wird die Änderung mit jedem Aufrufen von 'setInput()' oder 'refresh()' überschrieben, weil er den Inhalt da neu setzt.

Checkbox: Wie meinste das? Wenn du meinst das du eine Table mit 'SWT.CHECK' intialisiert, das kannste auch mit dem TableViewer ansonsten gibt es da noch den 'CheckBoxTableViewer'.

Verschieden Datentype: Also der LabelProvider regelt ja so zusagen die Anzeige, dort kannste eben selber Definieren was angezeigt werden soll.

Controlls: Wie meinste das? Du meinst damit sicher, das du den Inhalt der Zelle ändern kannst. Das geht wie du schon erwähnt hast mit den TableEditoren, den EditorProvider habe ich selber leider noch nicht ausprobiert. Und in dem Editor packste eben deine Controlls rein.
Das Problem mit der Größe liegt vielleicht daran, das Editoren nicht die Zelle an sich ändern, sondern von der Logik her nur ein Element über die Zelle legen, wo das drin ist was du eben haben willst. Das Bedeutet das die Größe der Spalte immer noch mit dem Wert bestimmt wird der im Hintergrund liegt, dies kann man aber auch anpassen und somit wird der ganze Editor sichtbar.

Beispiel: Das Beispiel was wir sehr viel geholfen hat, um den TableViewer zu verstehen findest du hier
Oder von Eclipse selber was hier

Hoffe ich konnte dir da etwas weiterhelfen, sonsten immer Fragen ;).

MfG
 

lumo

Top Contributor
werde mir das montags gleich ansehen, aber:
checkboxtableviewer, der macht keine checkbox rein, sondern schreibt nur true/false hin ;)
den hab ich mir nämlich auch schon angeschaut.

weiter kommentare folgen montags, komme heute sicher nicht mehr dazu...
aber jetzt schon mal danke für deine antwort!
 

lumo

Top Contributor
sorry, ich meinte den ComboBoxCellEditor

hab mir den CheckboxTableViewer doch noch nicht angesehen...
wollte mir ein beispiel anschauen, bekomme aber immer eine exception.
java.lang.NoClassDefFoundError: org/eclipse/core/runtime/IProgressMonitor
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.IProgressMonitor
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Exception in thread "main"
org.eclipse.jface_3.5.1.M20090826-0800.jar ist jedoch eingebunden...

bietet dieser viewer nur die möglichkeit am anfang jeder spalte eine checkbox anzuzeigen oder geht das auch mitten drin in mehreren columns mit verschiedenen werten?
 

lumo

Top Contributor
(oops, auf die benachrichtigungsmail zu antworten macht hier wohl keinen post :D)

also, meine testapplikation ist eine standalone anwendung, das projekt in dem ich die tabelle dann verwenden will ist ein eclipse plugin.

ich habe die jface jar bereits im classpath angegeben, andernfalls bekomme ich in eclipse ja schon warnings und error vor dem compilieren
 

lumo

Top Contributor
so, bin bei einem neuen versuch.

hab einen BooleanCellEditor definiert.
das problem ist, dass wemm ich ESC drücke der wert dennoch übernommen wird (mir ist zwar klar warum, aber ich weiss nicht, wie ichs umgehen soll - ausser per zusatzvariable, aber die ist beim text auch nicht nötig.. -> möchte das sauber lösen)
habe mich bei dem code an TextCellEditor orientiert und kann den fehler nicht finden...
Code:
import org.eclipse.core.runtime.Assert;

public class BooleanCellEditor extends CellEditor {

	protected Button check;

	private static final int defaultStyle = SWT.SINGLE;

	public BooleanCellEditor() {
		setStyle(defaultStyle);
	}

	public BooleanCellEditor(Composite parent) {
		this(parent, defaultStyle);
	}

	public BooleanCellEditor(Composite parent, int style) {
		super(parent, style);
	}

	protected void keyReleaseOccured(KeyEvent e) {
		super.keyReleaseOccured(e);
	}

	protected Control createControl(Composite parent) {
		check = new Button(parent, SWT.CHECK);
		// check.addTraverseListener(new TraverseListener() {
		//
		// public void keyTraversed(TraverseEvent e) {
		// if (e.detail == SWT.TRAVERSE_ESCAPE
		// || e.detail == SWT.TRAVERSE_RETURN) {
		// e.doit = false;
		// }
		// }
		// });
		check.addKeyListener(new KeyAdapter() {
			public void keyReleased(KeyEvent e) {
				if (e.keyCode == SWT.DEL) {
					e.doit = true;
					check.setText("null");
					check.setSelection(false);
					BooleanCellEditor.this.focusLost();
				} else if (e.keyCode == SWT.ESC) {
					e.doit = false;
					System.out.println("do not apply");
					BooleanCellEditor.this.focusLost();
				} else if (e.keyCode == SWT.CR) {
					e.doit = true;
					BooleanCellEditor.this.focusLost();
					System.out.println("do apply!");
				}
			}
		});
		check.addSelectionListener(new SelectionListener() {

			@Override
			public void widgetSelected(SelectionEvent e) {
				check.setText(Boolean.toString(check.getSelection()));
			}

			@Override
			public void widgetDefaultSelected(SelectionEvent e) {
				handleDefaultSelection(e);
			}
		});
		check.addFocusListener(new FocusAdapter() {
			public void focusLost(FocusEvent e) {
				BooleanCellEditor.this.focusLost();
			}
		});
		check.setFont(parent.getFont());
		check.setBackground(parent.getBackground());
		// check.setSelection(false);
		// check.setText(Boolean.toString(check.getSelection()));
		return check;
	}

	/**
	 * Handles a default selection event from the text control by applying the
	 * editor value and deactivating this cell editor.
	 * 
	 * @param event
	 *            the selection event
	 * 
	 * @since 3.0
	 */
	@Deprecated
	protected void handleDefaultSelection(SelectionEvent event) {
		// same with enter-key handling code in keyReleaseOccured(e);
		fireApplyEditorValue();
		deactivate();
	}

	@Override
	protected Object doGetValue() {
		if (check.getText().equals("null")) {
			return null;
		} else {
			return check.getSelection();
		}
	}

	@Override
	protected void doSetFocus() {
		if (check != null) {
			check.setFocus();
		}
	}

	@Override
	protected void doSetValue(Object value) {
		if (value==null) {
			check.setSelection(false);
			check.setText("null");
		}
		else {
			check.setSelection((Boolean) value);
			check.setText(Boolean.toString(check.getSelection()));
		}
	}
}
...hirntot? :autsch:
 
Zuletzt bearbeitet:

lumo

Top Contributor
hier die lösung, mit der ich allerdings nicht wirklich glücklich bin:

EDIT: ERR doch keine lösung da er beim wegspringen aus der zelle und beim zurückkehren in die zelle den wert falsch übernimmt bei cancel per escape (scheint so als ob der editor nicht jedes mal neu erstellt wird, wenn die zelle betreten wird... ARGH)

Code:
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusAdapter;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;

public class BooleanCellEditor extends CellEditor {

	protected Button check;
	Boolean originalValue = null;
	boolean initial = true;
	boolean cancel = false;

	private static final int defaultStyle = SWT.SINGLE;

	public BooleanCellEditor() {
		setStyle(defaultStyle);
	}

	public BooleanCellEditor(Composite parent) {
		this(parent, defaultStyle);
	}

	public BooleanCellEditor(Composite parent, int style) {
		super(parent, style);
	}

	protected void keyReleaseOccured(KeyEvent e) {
		super.keyReleaseOccured(e);
	}

	protected Control createControl(Composite parent) {
		check = new Button(parent, SWT.CHECK);
		// check.addTraverseListener(new TraverseListener() {
		//
		// public void keyTraversed(TraverseEvent e) {
		// if (e.detail == SWT.TRAVERSE_ESCAPE
		// || e.detail == SWT.TRAVERSE_RETURN) {
		// e.doit = false;
		// }
		// }
		// });
		check.addKeyListener(new KeyAdapter() {
			public void keyReleased(KeyEvent e) {
				cancel = false;
				if (e.keyCode == SWT.DEL) {
					e.doit = true;
					check.setText("null");
					check.setSelection(false);
					BooleanCellEditor.this.focusLost();
				} else if (e.keyCode == SWT.ESC) {
					e.doit = false;
					System.out.println("do not apply");
					cancel = true;
					BooleanCellEditor.this.focusLost();
				} else if (e.keyCode == SWT.CR) {
					e.doit = true;
					BooleanCellEditor.this.focusLost();
					System.out.println("do apply!");
				}
			}
		});
		check.addSelectionListener(new SelectionListener() {

			@Override
			public void widgetSelected(SelectionEvent e) {
				check.setText(Boolean.toString(check.getSelection()));
			}

			@Override
			public void widgetDefaultSelected(SelectionEvent e) {
				handleDefaultSelection(e);
			}
		});
		check.addFocusListener(new FocusAdapter() {
			public void focusLost(FocusEvent e) {
				BooleanCellEditor.this.focusLost();
			}
		});
		check.setFont(parent.getFont());
		check.setBackground(parent.getBackground());
		// check.setSelection(false);
		// check.setText(Boolean.toString(check.getSelection()));
		return check;
	}

	/**
	 * Handles a default selection event from the text control by applying the
	 * editor value and deactivating this cell editor.
	 * 
	 * @param event
	 *            the selection event
	 * 
	 * @since 3.0
	 */
	@Deprecated
	protected void handleDefaultSelection(SelectionEvent event) {
		// same with enter-key handling code in keyReleaseOccured(e);
		fireApplyEditorValue();
		deactivate();
	}

	@Override
	protected Object doGetValue() {
		if (cancel) {
			return originalValue;
		} else {
			if (check.getText().equals("null")) {
				return null;
			} else {
				return check.getSelection();
			}
		}
	}

	@Override
	protected void doSetFocus() {
		if (check != null) {
			check.setFocus();
		}
	}

	@Override
	protected void doSetValue(Object value) {
		if (initial) {
			initial = false;
			originalValue = (Boolean) value;
		}

		if (value == null) {
			check.setSelection(false);
			check.setText("null");
		} else {
			check.setSelection((Boolean) value);
			check.setText(Boolean.toString(check.getSelection()));
		}
	}
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
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 CellEditor - knifflig AWT, Swing, JavaFX & SWT 35
M SWT Table mit Columns und Items AWT, Swing, JavaFX & SWT 3
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
S Table oder TableModel so ueberschreiben, dass Columns minimale Breite haben? AWT, Swing, JavaFX & SWT 2
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
S SWT Table - Wie Columns hinzufügen / entfernen AWT, Swing, JavaFX & SWT 3
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
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
L Kommunikation zwischen Klassen / Konstruktoren bei Swing AWT, Swing, JavaFX & SWT 9
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Ø Swing Button in anderer Klassen ausführen AWT, Swing, JavaFX & SWT 6
H Swing Frame an andere Klassen weitergeben AWT, Swing, JavaFX & SWT 4
R JavaFX Java FXML Vererbung in Klassen AWT, Swing, JavaFX & SWT 9
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
D Zwei getrennte Java Klassen verbinden. Wie ? AWT, Swing, JavaFX & SWT 2
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
Soloeco Swing JTextField auslesen Klassen übergreifend AWT, Swing, JavaFX & SWT 16
K Wie kann ich eine Variable zwischen Tab Klassen weitergeben ? AWT, Swing, JavaFX & SWT 7
A Oberfläche mit zwei Klassen und actionlistener verbinden AWT, Swing, JavaFX & SWT 7

Ähnliche Java Themen

Neue Themen


Oben