9 Aralık 2018 Pazar

Awt GridLayout Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.awt.GridLayout;
Nesneleri eşit büyüklüklteki hücrelere sığacak şekilde yerleştirir. Açıklaması şöyle.
A GridLayout object places components in a grid of cells. Each component takes all the
available space within its cell, and each cell is exactly the same size.
GridLayout ve GridBagLayout farklı sınıflardır. GridBagLayout daha gelişmiş özellikler sunar.
Kullanım
GridLayout sınıfı genellikle bir JPanel'a atanır.
JPanel middleContainer = new JPanel();
middleContainer.setLayout(new GridLayout(2, 4));
Daha sonra panel'e add() çağrısı yapılır. Şöyle yaparız.
//Row 1
middleContainer.add(...);
middleContainer.add(...);
middleContainer.add(...);
middleContainer.add(...);

//Row 2
middleContainer.add(...);

constructor - row + col
Örnek
Şöyle yaparız. Hücreler arasında boşluk olmaz
JPanel board = new JPanel(new GridLayout(5, 5));
Örnek
Alt alta iki panel için şöyle yaparız.
JPanel upperContainer = ...;
JPanel lowerContainer = ...;

getContentPane().setLayout(new GridLayout(0, 1));
getContentPane().add(upperContainer);
getContentPane().add(lowerContainer);

constructor - row + col + hgap + vgap
30 satır ve 10 sütunlu aralarında boşluk olarak ızgara için şöyle yaparız.
JPanel content = new JPanel();

content.setLayout(new GridLayout(30, 10, 2, 2));

for (int i = 0; i < maxHealth; i++) {

  int value = ...;

  JLabel label = new JLabel("" + value, SwingConstants.CENTER);
  label.setOpaque(true);
  label.setBackground(...);

  content.add(label);

}

Hiç yorum yok:

Yorum Gönder