ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
617
617
EMPFEHLEN
-
hi,
was muss ich beim GridBagLayout bzw GridBagConstraints einstellen, damit meine Elemente im Fenster, wenn ich das Fenster kleiner ziehe, ihre Größe dementsprechend anpassen?
danke schon mal =)
-
28.06.10 19:20 #2
Eventuell kannst du deine Frage ein wenig genauer erläutern, bzw. deine Ansätze posten!
Aber im allgemeinen hilft: http://java.sun.com/docs/books/tutor...t/gridbag.htmlJeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
28.06.10 20:06 #3
Hallo YelloW22,
beim Hinzufügen der Componenten auf den Container mit dem GridBagLayout benutzt du einfach folgende Methode:
Code java:1
add(Component, GridBagConstraints);
GridBagConstraints-Objekte konstruierst du so:
Weightx und Weigthy geben den Faktor an, um wie viel die Elemente in x- oder y-Richtung vergrößert werden (Werte 0.0 - 1.0 für 0 - 100%)Code java:1
new GridBagConstraints(int gridx, int, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets insets, int ipadx, int ipady);
Fill gibt an, ob in keine nur in horizontale (x) oder vertikale (y) oder beide Richtungen vergrößert wird, was auch mit Weightx/y zusammenhängt (Mögliche Werte:
GridBagConstraints.- NONE
- HORIZONTAL
- VERTICAL
- BOTH
Grüße,
kevin
-
Zum Thema GridBagConstraints und der Auswirkungen der am Fill beteiligten Attribute:
Voraussetzungen:
- das JPanel mit einem GridBagLayout entspricht in seinem Aufbau einem Schachbrettmuster, bei dem jedoch die einzelnen Zeilen und Spalten jeweils in ihren Ausmaßen variieren können.
- als Feld bezeichne ich im Weiteren also eine durch X- (gridx) und Y-Koordinaten (gridy) genau identifizierte Position in diesem Schachbrett
Das fill-Attribut beschreibt das Ausdehnungsverhalten des Elementes in seinem Feld:- fill = GridBagConstraints.NONE
wie die Konstante nahe legt: die Größe des Elements entspricht seiner bevorzugten Größe - nicht mehr und nicht weniger - fill = GridBagConstraints.HORIZONTAL
behält das NONE-Verhalten in der vertikalen Ebene, breitet sich aber horizontal auf die gesamte Breite seines Feldes aus - fill = GridBagConstraints.VERTICAL
behält das NONE-Verhalten in der horizontalen Ebene, breitet sich aber vertikale auf die gesamte Breite seines Feldes aus - fill = GridBagConstraints.BOTH
erweitert das Element auf die gesamte Höhe und Breite des Feldes im Grid
- weightx
Legt das Ausdehnungsgewicht der Breite der Spalte des Elements im übergeordneten GridBagLayout fest:
Existieren keine weiteren gewichteten Elemente (weightx > 0) in anderen Spalten, dann ist der genaue Wert egal (Hauptsache er ist > 0). Der Effekt ist immer eine Ausdehnung über die gesamte restliche Breite, die nicht von den anderen Spalten eingenommen wird.
Gibt es allerdings weitere gewichtete Elemente (weightx > 0) in anderen Spalten, dann ist jeweils das Verhältnis zwischen den einzelnen Werten zu betrachten. Hat Element1 ein weightx von 0.5 und Element2 ein weightx von 1, dann nimmt Element1 ein Drittel (0.5/(0.5 + 1)) der restlichen Breite ein und lässt die übrigen zwei Drittel (1/(0.5 + 1)) der restlichen Breite für Element2. - weighty
Legt das Ausdehnungsgewicht der Höhe der Zeile des Elements im übergeordneten GridBagLayout fest:
Existieren keine weiteren gewichteten Elemente (weighty > 0) in anderen Zeilen, dann ist der genaue Wert egal (Hauptsache er ist > 0). Der Effekt ist immer eine Ausdehnung über die gesamte restliche Höhe, die nicht von den anderen Zeilen eingenommen wird.
Gibt es allerdings weitere gewichtete Elemente (weighty > 0) in anderen Zeilen, dann ist jeweils das Verhältnis zwischen den einzelnen Werten zu betrachten. Hat Element1 ein weighty von 50 und Element2 ein weighty von 150, dann nimmt Element1 ein Viertel (50/(50 + 150)) der restlichen Höhe ein und lässt die übrigen drei Viertel (150/(50 + 150)) der restlichen Höhe für das Element2.
Das nur um den möglicherweise irreführenden Kommentar zu korrigieren:
Ich hoffe es hilft.
Viele Grüße
CarronGeändert von Carron (29.06.10 um 20:22 Uhr)
- fill = GridBagConstraints.NONE
Ähnliche Themen
-
Fenster erstellen und damit Bildschirmbereich verkleinern
Von Domsi im Forum Visual Basic 6.0Antworten: 3Letzter Beitrag: 20.12.09, 14:12 -
float, fenster verkleinern
Von soyo im Forum CSSAntworten: 3Letzter Beitrag: 17.01.09, 20:22 -
Ebene zentrieren und Fenster verkleinern
Von BMo im Forum CSSAntworten: 2Letzter Beitrag: 22.06.08, 12:08 -
Message nach Fenster Verkleinern, Schließen, Maximieren
Von gabifi im Forum VisualStudio & MFCAntworten: 6Letzter Beitrag: 18.08.05, 10:21 -
Pixelfehler beim Verkleinern von Bildern
Von Benzol im Forum PHPAntworten: 11Letzter Beitrag: 26.01.05, 14:18





Zitieren
Login





