Izgara Çanta Yerleşimi (GridBagLayout)

GridBagLayout, GridLayout'e benzer olarak bileşenleri hücrelerin dikdörtgen ızgaralarına dikey ve yatay olarak hizalar. Fakat, hücrenin yüksekliği ve genişliği bileşenlerin boyutuna göre belirlenir ve kap yeniden boyutlandırıldığında bileşenlerin nasıl boyutlandırılacağı belirtilebilir. Sağdaki örnek GridBagLayout'ın bu özelliğini göstermektedir.

 


Yeniden boyutlandırmadan önce

Yeniden boyutlandırmadan sonra
GridBagLayout'ın bazı özellikleri şunlardır:
  • Bir GridBagLayout örneği şu şekilde yaratılabilir: new GridBagLayout();
  • Kaba bir bileşen eklemeden önce bir GridBagConstraints örneği yaratılmalı ve bileşenleri kaba nasıl yerleştirileceği konusunda kısıtlamalar GridBagLayout.setConstraints(bileşen, kısıtlamalar) kullanılarak ayarlanmalıdır. Daha sonra add() yöntemi kullanılarak bileşen kaba eklenebilir.
  • Bir bileşen için aşağıdaki kısıtlamalar belirtilebilir GridBagConstraints öznitelikleri):
    • gridx, gridy: bileşeni yerleştirecek alan belirtilir.
    • gridwidth, gridheight: bir bileşen dikey veya yatay olarak birden fazla hücreye yayılabilir.
    • fill: bileşenin alanı nasıl dolduracağını belirtir. Şunlardan biri olabilir: NONE, VERTICAL, HORIZONTAL, BOTH. NONE bileşenin tercih edilen genişlik/yükseklik bilgilerini kullanır.
    • weightx, weighty: Kap yeniden boyutlandırıldığında, bileşenin nasıl yeniden boyutlandırılacağını belirtir. Bileşenin genişliği (veya yüksekliği) aynı satırdaki (veya sütundaki) diğer bileşenlere atanan ağırlığa göre değiştirilir.
    • anchor: Bileşenin alandan küçük olması durumunda nereye yerleştirileceğini belirtir. Şunlardan biri olabilir: CENTER, NORTH, SOUTH, WEST, EAST, NORTHWEST, NORTHEAST, SOUTHWEST, SOUTHEAST.