Announcement

Collapse
No announcement yet.

GridBag ohne Flow?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • GridBag ohne Flow?

    Hallo

    Gibt es eine Möglichkeit im GridBag Layout mit den Komponenten oben links zu beginnen. Bisher habe ich immer ein Panel im Flow Layout mit der Ausrichtung left darunter gelegt. Es funktioniert. Kommt mir aber sehr improvisiert vor.

    Das geht bestimmt besser. Selbst habe ich aber nichts gefunden.

    Gruß

  • #2
    javax.swing.JLabel jLabel1 = new javax.swing.JLabel();
    javax.swing.JLable jLabel2 = new javax.swing.JLabel();
    javax.swing.JTextField jTextField1 = new
    javax.swing.JTextField();
    javax.swing.JTextField jTextField2 = new
    javax.swing.JTextField();

    java.awt.GridBagConstraints label1GBC = new
    java.awt.GridBagConstraints();
    java.awt.GridBagConstraints label2GBC = new
    java.awt.GridBagConstraints();
    java.awt.GridBagConstraints text1GBC = new
    java.awt.GridBagConstraints();
    java.awt.GridBagConstraints text2GBC = new
    java.awt.GridBagConstraints();

    jLabel1.setText("jLabel1");
    label1GBC.gridx = 0;
    label1GBC.gridy = 0;
    label1GBC.anchor =
    java.awt.GridBagConstraints.NORTHWEST; //Ausrichtung
    label1GBC.weightx = 0.1; //Breite im container in
    Prozent 0.1 = 10%
    label1GBC.weighty = 0.5; //Höhe im Container in
    Prozent 0.5 = 50%
    getContentPane().add(jLabel1, label1GBC);

    jTextField1.setText("jTextField1");
    text1GBC.anchor =
    java.awt.GridBagConstraints.NORTHWEST;
    text1GBC.weightx = 0.9; //Breite im Prozent
    90% gemeinsam mit dem Label 100%
    text1GBC.weighty = 0.5; //Höehe in Prozent
    50%
    getContentPane().add(jTextField1, text1GBC);
    //
    ------------------------------------------------------------
    jLabel2.setText("jLabel2");
    label2GBC.gridx = 0;
    label2GBC.gridy = 1;
    label2GBC.anchor =
    java.awt.GridBagConstraints.NORTHWEST;
    label2GBC.weightx = 0.1;
    label2GBC.weighty = 0.5;
    getContentPane().add(jLabel2, label2GBC);

    jTextField2.setText("jTextField2");
    text2GBC.gridx = 1;
    text2GBC.gridy = 1;
    text2GBC.anchor =
    java.awt.GridBagConstraints.NORTHWEST;
    text2GBC.weightx = 0.9;
    text2GBC.weighty = 0.5;
    getContentPane().add(jTextField2, text2GBC);

    Mit diesem Code liegen je ein JLabel und JTextField in
    einer Reihe nebeneinander. Das nächste Paar liegt
    darunter.
    Mit gridBagConstraints.anchor kann die Richtung der
    Ausrichtung angegeben werden.
    Die beiden Werte gridBagConstraints.weightx und weighty
    geben an, wieviel Prozent vom Platz das jeweilige Element
    auf dem Container für sich beanspruchen darf.

    Experimentiere auch etwas mit:
    gridBagConstraints.fill =
    java.awt.GridBagConstraints.BOTH
    gridBagConstraints.fill =
    java.awt.GridBagConstraints.VERTICAL
    gridBagConstraints.fill =
    java.awt.GridBagConstraints.HORIZONTAL

    mfg Johanne

    Comment


    • #3
      Danke Johannes,

      es grüßt algieb

      Comment

      Working...
      X