SWT GridLayout - clear?

Status
Nicht offen für weitere Antworten.

lumo

Top Contributor
Hallo,

ich möchte folgendes machen.
ich habe auf einem gridlayout ein textfeld und einen knopf, wenn ich auf den knopf drücke soll das textfeld verschwinden und stattdessen ein DateTime.CALENDAR angezeigt werden. bei doppelklick auf den calendar soll dann wieder das Textfeld sichtbar sein und den wert aus dem calendar beinhalten...

mein problem ist jetzt nicht dass ich den wert aus dem calendar in das textfeld bekomm... sondern dass ich das layout lösche und neu auslege...
hier einfach mal meine doLayout() funktion, die eigentlich das machen sollte, was ich oben beschrieben hab (tut sie aber nicht -> hab ich wohl einen fehler drin.) kann aber weder bei google noch bei der sufu was finden, das mein problemchen löst...
Java:
public void doLayout(boolean toggle) {
		GridLayout gridLayout = new GridLayout(2, true);
		gridLayout.marginLeft = 0;
		gridLayout.marginHeight = 0;
		gridLayout.marginWidth = 0;
		gridLayout.verticalSpacing = 0;
		gridLayout.horizontalSpacing = 0;
		setLayout(gridLayout);
		if (!toggle) {
			value = new Text(this, SWT.BORDER);
			value.setText("");
			value.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
					1, 1));
			// value.addListener(SWT.Verify, new DateListener());
			b = new Button(this, SWT.NONE);
			b.setText("o");
			b.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent e) {
					doLayout(true);
				}
			});
		} else if (toggle) {
			// SWT.DATE
			if (dateTime == null) {
				dateTime = new DateTime(this, SWT.CALENDAR | SWT.BORDER);
				dateTime.addMouseListener(new MouseListener() {

					@Override
					public void mouseDoubleClick(MouseEvent e) {
						System.out
								.println("DBLCLICK: Calendar date selected (DD.MM.YYYY) = "
										+ value.getText());
					}

					@Override
					public void mouseDown(MouseEvent e) {

					}

					@Override
					public void mouseUp(MouseEvent e) {
					}

				});
				dateTime.addSelectionListener(new SelectionAdapter() {
					public void widgetSelected(SelectionEvent e) {
						System.out
								.println("Calendar date selected (DD.MM.YYYY) = "
										+ value.getText());
					}
				});
			}
		}
		this.layout();
	}

danke schon mal fürs lesen...
lumo
 

Ebenius

Top Contributor
Ohne mir den Rest groß angesehen zu haben: Zeile 55 scheint mir falsch. Ersetz die mal durch: [java=55]this.invalidate();
this.revalidate();[/code]
Ebenius
 

Wildcard

Top Contributor
Um etwas zu entfernen musst du childControl.dispose() aufrufen. Ansonsten gibt es da auch noch das CardLayout um zwischen verschiedenen Widgets zu wechseln.
 

Ebenius

Top Contributor
Ohje, das ist ja SWT, hab ich gar nicht gesehen. Dann ziehe ich eventuell meine Aussage oben zurück, keine Ahnung, ob das bei SWT Sinn ergibt.

Ebenius
 

lumo

Top Contributor
@ebenius nein, bei swt machts keinen sinn
@Wildcard werde das mit dem dispose probieren (auf die unterelemente meines composites)

EDIT: DANKE! wildcard, das mit dem dispose hat geklappt!

falls jemand das selbe problemchen hat und ein beispiel will...
Java:
public void doLayout(boolean toggle) {
		GridLayout gridLayout = new GridLayout(2, true);
		gridLayout.marginLeft = 0;
		gridLayout.marginHeight = 0;
		gridLayout.marginWidth = 0;
		gridLayout.verticalSpacing = 0;
		gridLayout.horizontalSpacing = 0;
		setLayout(gridLayout);
		if (!toggle) {
			text = new Text(this, SWT.BORDER);
			text.setText(value);
			text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false,
					1, 1));
			// value.addListener(SWT.Verify, new DateListener());
			b = new Button(this, SWT.NONE);
			b.setText("o");
			b.addSelectionListener(new SelectionAdapter() {
				@Override
				public void widgetSelected(SelectionEvent e) {
					doLayout(true);
				}
			});
			if (dateTime != null) {
				dateTime.dispose();
			}
		} else if (toggle) {
			if (text != null && b != null) {
				text.dispose();
				b.dispose();
			}
			// SWT.DATE
			dateTime = new DateTime(this, SWT.CALENDAR | SWT.BORDER);
			dateTime.addMouseListener(new MouseListener() {

				@Override
				public void mouseDoubleClick(MouseEvent e) {
					System.out
							.println("DBLCLICK: Calendar date selected (DD.MM.YYYY) = "
									+ dateTime.getDay()
									+ "."
									+ dateTime.getMonth()
									+ "."
									+ dateTime.getYear());
					value = dateTime.getDay() + "." + dateTime.getMonth() + "."
							+ dateTime.getYear();
					doLayout(false);
				}

				@Override
				public void mouseDown(MouseEvent e) {

				}

				@Override
				public void mouseUp(MouseEvent e) {
				}

			});
			dateTime.addSelectionListener(new SelectionAdapter() {
				public void widgetSelected(SelectionEvent e) {
					System.out
							.println("DBLCLICK: Calendar date selected (DD.MM.YYYY) = "
									+ dateTime.getDay()
									+ "."
									+ dateTime.getMonth()
									+ "."
									+ dateTime.getYear());
					value = dateTime.getDay() + "." + dateTime.getMonth() + "."
							+ dateTime.getYear();
				}
			});
		}
		this.layout();
	}
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E GridLayout auf ScrollPane AWT, Swing, JavaFX & SWT 4
thor_norsk GridLayout AWT, Swing, JavaFX & SWT 11
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
M Swing GridLayout AWT, Swing, JavaFX & SWT 2
D [Swing] Anordnung von Komponenten mit GridLayout Manager AWT, Swing, JavaFX & SWT 13
pkm kryptisches Verhalten bei GridLayout AWT, Swing, JavaFX & SWT 4
K Swing GridLayout - x und y bei Mausklick ausgeben AWT, Swing, JavaFX & SWT 4
S GridLayout SWT: Anordnung Composites nebeneinander AWT, Swing, JavaFX & SWT 2
B GridLayout - wie am besten implementieren AWT, Swing, JavaFX & SWT 3
B GridLayout Basics AWT, Swing, JavaFX & SWT 1
L Eigene JComponent in GridLayout AWT, Swing, JavaFX & SWT 9
fLooojava GridLayout - Frage bezüglich Kachelgröße AWT, Swing, JavaFX & SWT 5
F JPanel "verschmelzen" GridLayout AWT, Swing, JavaFX & SWT 10
M LayoutManager GridLayout funktioniert nicht AWT, Swing, JavaFX & SWT 0
T LayoutManager GridLayout panel.setSize funktioniert nicht AWT, Swing, JavaFX & SWT 1
F Gridlayout AWT, Swing, JavaFX & SWT 6
A JPanel oder GridLayout Größe festsetzten AWT, Swing, JavaFX & SWT 4
X GridLayout JPanel austauschen AWT, Swing, JavaFX & SWT 2
A JFrame Größenänderung mit Maus und GridLayout AWT, Swing, JavaFX & SWT 10
J Button in GridLayout AWT, Swing, JavaFX & SWT 2
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
L LayoutManager GridLayout verschiebt sich AWT, Swing, JavaFX & SWT 6
B GridLayout AWT, Swing, JavaFX & SWT 6
T Spaltengröße einzelner Spalten in Gridlayout festlegen AWT, Swing, JavaFX & SWT 3
Karuka Abstände im GridLayout ändern AWT, Swing, JavaFX & SWT 8
Karuka 2D-Grafik Bilder in GridLayout einfügen AWT, Swing, JavaFX & SWT 7
C Scollpane an dynamisches GridLayout anpassen? AWT, Swing, JavaFX & SWT 3
J Swing Bilder anzeigen in Gridlayout AWT, Swing, JavaFX & SWT 11
C Linien über GridLayout zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme mit Gridlayout AWT, Swing, JavaFX & SWT 4
U Elemente im Panel zentrieren mit GridLayout AWT, Swing, JavaFX & SWT 3
Z Swing JButton erweitern/Gridlayout AWT, Swing, JavaFX & SWT 2
L Swing GridLayout AWT, Swing, JavaFX & SWT 4
lumo LayoutManager SWT GridLayout - Reihenfolge ändern AWT, Swing, JavaFX & SWT 7
C Swing GridLayout: Kann man die Spaltenbreiten variabel gestalten? AWT, Swing, JavaFX & SWT 4
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
Y Kein GantChart in einem GridLayout AWT, Swing, JavaFX & SWT 5
M Formular in GridLayout ? AWT, Swing, JavaFX & SWT 17
R LayoutManager Problem mit GridLayout AWT, Swing, JavaFX & SWT 5
F LayoutManager GridLayout 0/0 auf andere Ecke setzen AWT, Swing, JavaFX & SWT 4
Rudolf Swing Gridlayout und Grouper vorhanden? AWT, Swing, JavaFX & SWT 4
S SWT GridLayout scrollbar machen? AWT, Swing, JavaFX & SWT 7
A Gridlayout Vertikal anordnen AWT, Swing, JavaFX & SWT 6
D LayoutManager GridLayout, 2 labels nebeneinander AWT, Swing, JavaFX & SWT 8
B Swing GridLayout.add über 2 Spalten? AWT, Swing, JavaFX & SWT 7
R LayoutManager GridLayout verändert isch andauernd AWT, Swing, JavaFX & SWT 4
A Frage zu GridLayout AWT, Swing, JavaFX & SWT 4
B GridLayout und scrollbar AWT, Swing, JavaFX & SWT 5
J Swing Bild in GridLayout AWT, Swing, JavaFX & SWT 8
aze GridLayout: Keine automatische Ausdehnung AWT, Swing, JavaFX & SWT 2
M SWT keine Scrollbar bei widgets.List und GridLayout AWT, Swing, JavaFX & SWT 2
M Image an Gridlayout anpassen AWT, Swing, JavaFX & SWT 5
E SWT Problem mit Gridlayout AWT, Swing, JavaFX & SWT 3
G SWT GridLayout AWT, Swing, JavaFX & SWT 2
T GridLayout Zeilen Hintergrund AWT, Swing, JavaFX & SWT 5
N Gridlayout macht Probleme AWT, Swing, JavaFX & SWT 3
L GridLayout verändert festgesetzte Größe der Komponenten AWT, Swing, JavaFX & SWT 12
S Gridlayout - Tabellenzeile "beenden" AWT, Swing, JavaFX & SWT 3
Dragonfire GridLayout Probleme AWT, Swing, JavaFX & SWT 4
A JLabel, Icons und GridLayout AWT, Swing, JavaFX & SWT 3
C JPanel-Array in GridLayout AWT, Swing, JavaFX & SWT 4
G SWT GridLayout AWT, Swing, JavaFX & SWT 3
N Gridlayout 2. Spalte füllen AWT, Swing, JavaFX & SWT 4
W Problem mit GridLayout AWT, Swing, JavaFX & SWT 11
K Problem mit nem GridLayout AWT, Swing, JavaFX & SWT 5
T GridLayout, zu wenig Platz zwischen Widgets AWT, Swing, JavaFX & SWT 3
T SWT/Eclipse Form Controls zur Laufzeit hinzufügen,GridLayout AWT, Swing, JavaFX & SWT 4
M GridLayout mit fester Größe möglich? AWT, Swing, JavaFX & SWT 3
E Einfache Frage zu GridLayout AWT, Swing, JavaFX & SWT 35
G Größe der einzelenen Felder im GridLayout einstellbar? AWT, Swing, JavaFX & SWT 5
P Canvas in JFrame mit GridLayout AWT, Swing, JavaFX & SWT 4
F GridLayout: verschiedene Spaltenbreiten AWT, Swing, JavaFX & SWT 2
S GridLayout ? AWT, Swing, JavaFX & SWT 5
D AutoResize bei GridLayout ausschalten? AWT, Swing, JavaFX & SWT 2
D GridLayout mit nur einer Spalte, aber n Zeilen AWT, Swing, JavaFX & SWT 2
E GridLayout seltsame Anordnungsstrategie AWT, Swing, JavaFX & SWT 6
S Problemen mit Canvas-Objekten im GridLayout AWT, Swing, JavaFX & SWT 8
L Grids benennen beim GridLayout AWT, Swing, JavaFX & SWT 5
S GridLayout mit sehr großen Abständen AWT, Swing, JavaFX & SWT 3
I SWT GridLayout AWT, Swing, JavaFX & SWT 5
V Frage zu GridLayout. AWT, Swing, JavaFX & SWT 3
P SWT GridLayout AWT, Swing, JavaFX & SWT 5
O gridlayout konstante größe AWT, Swing, JavaFX & SWT 3
TRunKX Problem mit dem GridLayout und den proportionen AWT, Swing, JavaFX & SWT 4
P SWT: GridLayout und Textfelder AWT, Swing, JavaFX & SWT 1
M GridLayout funktioniert nicht mehr. AWT, Swing, JavaFX & SWT 2
F GridLayout horizontal ausrichten AWT, Swing, JavaFX & SWT 6
K GridLayout: Colspan, Rowspan AWT, Swing, JavaFX & SWT 2
R GridLayout spinnt AWT, Swing, JavaFX & SWT 14
C leeres Element in Gridlayout einfuegen AWT, Swing, JavaFX & SWT 3
D Problem bei GridLayout und JPanels AWT, Swing, JavaFX & SWT 4
J GridLayout AWT, Swing, JavaFX & SWT 5
H GridLayout: Größe einer Komponente ändern AWT, Swing, JavaFX & SWT 2
L Frage zum GridLayout AWT, Swing, JavaFX & SWT 4
G kann man die aufteilung von GridLayout beeinflussen ? AWT, Swing, JavaFX & SWT 10
M clear JPanel before repainting AWT, Swing, JavaFX & SWT 1
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
A Swing Paint mit Button Clear den Hintergrund säubern um wieder zeichnen zu können AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben