Zum Inhalt springen

Java GridLayout Element austauschen


Empfohlene Beiträge

Geschrieben

Hallo zusammen,

ich habe folgendes Problem mit Java 1.5.

Ich habe eine Maske in der ich ein GridLayout verwende.

Dort habe ich verschiedene Widgets drinne. Bei allen Widgets handelt es sich um eclipse.swt elemente. Ich möchte eines dieser Elemente ( TEXT) ausblenden und ein anderes TEXT Element dafür einblenden.

Wenn ich dazu die Methode setVisibility verwende, wird für das unsichtbar gemachte Element immernoch der Platz reserviert und das andere wird darunter eingeblendet.

Wie kann ich das Element an der gleichen Stelle einblenden, an der das vorhandene Element steht?

Danke und viele Grüße ,

Markus

Geschrieben
Wie kann ich das Element an der gleichen Stelle einblenden, an der das vorhandene Element steht?

Die Componente vom Container removen und die andere an der entsprechenden Stelle add'en.

Gruß Jaraz

Geschrieben

Servus,

mit getBounds und setBounds solltest Du bei Verwendung eines LayoutManagers nicht arbeiten, weil die Angaben - zumindest bei SWT - beim nächsten Layout wieder weg sind. Und das wird ja schon beim resize des Fensters ausgeführt.

Die richtige Methode ist - wie schon Jaraz sagte, das entfernen und wieder hinzufügen des Widgets. Bei SWT könntest Du noch ein passendes Objekt von GridData mitgeben, dann sollte es passen.

Oder gleich FormLayout verwenden, das ist flexibler als GridLayout.

Peter

Geschrieben
Servus,

mit getBounds und setBounds solltest Du bei Verwendung eines LayoutManagers nicht arbeiten, weil die Angaben - zumindest bei SWT - beim nächsten Layout wieder weg sind. Und das wird ja schon beim resize des Fensters ausgeführt.

Die richtige Methode ist - wie schon Jaraz sagte, das entfernen und wieder hinzufügen des Widgets. Bei SWT könntest Du noch ein passendes Objekt von GridData mitgeben, dann sollte es passen.

Oder gleich FormLayout verwenden, das ist flexibler als GridLayout.

Peter

Ich hab schonmal versucht mit dem entfernen und adden, aber ich hab dabei ein paar probleme:

Ich entferne ein element welches mitten in einer Group drinne hängt.

Wie kann ich nun genau an dieser Stelle das andere Objekt einfügen?

Ich kann doch nur immer hinten anfügen....

Formlayouts wollte ich auch schon verwenden, aber die konnte ich bis jetzt dem Eclipse nicht beibringen....

Gruß,

Markus

Geschrieben

Servus,

ich arbeite nicht mit GridLayout deshalb wusste ich gar nicht, das man damit nicht ersetzen kann. Hab grad in die API-Dok geschaut und man kann scheinbar wirklich nur anhängen. Blöd.

Was klappt denn an FormLayout nicht? Wenn Du GridLayout nehmen kannst, dann sollte doch FormLayout auch gehen, liegen ja im gleichen Package.

Beschreib mal genau, was nicht geht, bei FormLayout kann ich Dir helfen.

Peter

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...