kills Geschrieben 28. Februar 2005 Teilen Geschrieben 28. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Februar 2005 Autor Teilen Geschrieben 28. Februar 2005 Hallo zusammen, ich habs jetzt mit getBounds() und setBounds() hinbekommen. Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 28. Februar 2005 Teilen Geschrieben 28. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 28. Februar 2005 Teilen Geschrieben 28. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Februar 2005 Autor Teilen Geschrieben 28. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kingofbrain Geschrieben 28. Februar 2005 Teilen Geschrieben 28. Februar 2005 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Februar 2005 Autor Teilen Geschrieben 28. Februar 2005 Form Layouts sind beim eclipse einfach nicht dabei. mann kann diese im Visual Editor nicht auswählen usw.... Gruß, Markus Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.