tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
617
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    YelloW22 YelloW22 ist offline Mitglied Gold
    Registriert seit
    Mar 2010
    Beiträge
    122
    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 =)
     

  2. #2
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Platin
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    501
    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.html
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  3. #3
    Avatar von darkmagic2002
    darkmagic2002 darkmagic2002 ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    33
    Hallo YelloW22,
    beim Hinzufügen der Componenten auf den Container mit dem GridBagLayout benutzt du einfach folgende Methode:
    Code java:

    GridBagConstraints-Objekte konstruierst du so:
    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);
    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%)
    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
     

  4. #4
    Avatar von Carron
    Carron Carron ist offline Mitglied Silber
    Registriert seit
    May 2010
    Ort
    Berlin
    Beiträge
    61
    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
    Carron
    Geändert von Carron (29.06.10 um 20:22 Uhr)
     

Ähnliche Themen

  1. Fenster erstellen und damit Bildschirmbereich verkleinern
    Von Domsi im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 20.12.09, 14:12
  2. float, fenster verkleinern
    Von soyo im Forum CSS
    Antworten: 3
    Letzter Beitrag: 17.01.09, 20:22
  3. Antworten: 2
    Letzter Beitrag: 22.06.08, 12:08
  4. Message nach Fenster Verkleinern, Schließen, Maximieren
    Von gabifi im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 18.08.05, 10:21
  5. Antworten: 11
    Letzter Beitrag: 26.01.05, 14:18