Giriş
Ekranı ızgara şeklide kullanabilmeyi sağlar. Açıklaması şöyle.
Şöyle yaparız.
Hücre içideki bileşenimiz, bir yandaki hücrenin büyük olması durumunda istediğimiz yere gelmeyebilir. Bu durumda hücre içinde nereye gitmesini istediğimizi belirtmek gerekir.
Örnek
Şöyle yaparız.
Bileşenin hücresinin doldurmak için nasıl genişleyeceğini gösterir.
Örnek
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız. Eklenecek bileşenin hangi sütüna ekleneceğini belirtir.
1 ise kalan boşluğu dolduracak şekilde genişler.
gridwidth Alanı
Yatayda kaç hücreyi kapsayacağını belirtir.
gridy Alanı
Şöyle yaparız. Eklenecek bileşenin hangi satıra ekleneceğini belirtir.
Bir sonraki hücre ile ne kadar boşluk olacağını belirtir.
Örnek
Şöyle yaparız.
Şöyle yaparız. Bir sonraki satır için 100 birim boşluk bırakır.
Şöyle yaparız. 0'dan farklı ise hücre 0 olarak eklenmiş bileşenlerden arta kalan alanın %50'sini alacak şekilde genişler.
Şöyle yaparız. 0'dan farklı ise hücre dikeyde genişler.
Önce bileşenin layout'u GridBagLayout yapılır. Şöyle yaparız
Şöyle yaparız.
Ekranı ızgara şeklide kullanabilmeyi sağlar. Açıklaması şöyle.
GridBagLayout is one of the most flexible — and complex — layout managers the Java platform provides. A GridBagLayout places components in a grid of rows and columns, allowing specified components to span multiple rows or columns. Not all rows necessarily have the same height. Similarly, not all columns necessarily have the same width. Essentially, GridBagLayout places components in rectangles (cells) in a grid, and then uses the components' preferred sizes to determine how big the cells should be.constructor
Şöyle yaparız.
GridBagConstraints c = new GridBagConstraints();
anchor AlanıHücre içideki bileşenimiz, bir yandaki hücrenin büyük olması durumunda istediğimiz yere gelmeyebilir. Bu durumda hücre içinde nereye gitmesini istediğimizi belirtmek gerekir.
Örnek
Şöyle yaparız.
// anchor to the top left corner
c.anchor = GridBagConstraints.FIRST_LINE_START;
fill AlanıBileşenin hücresinin doldurmak için nasıl genişleyeceğini gösterir.
Örnek
Şöyle yaparız.
c.fill = GridBagConstraints.BOTH;
ÖrnekŞöyle yaparız.
// fill horizontally
c.fill = GridBagConstraints.HORIZONTAL;
gridx AlanıŞöyle yaparız. Eklenecek bileşenin hangi sütüna ekleneceğini belirtir.
c.gridx = 0;
c.gridy = 0;
gridweigth Alanı1 ise kalan boşluğu dolduracak şekilde genişler.
gridwidth Alanı
Yatayda kaç hücreyi kapsayacağını belirtir.
gridy Alanı
Şöyle yaparız. Eklenecek bileşenin hangi satıra ekleneceğini belirtir.
c.gridx = 0;
c.gridy = 1;
insets AlanıBir sonraki hücre ile ne kadar boşluk olacağını belirtir.
Örnek
Şöyle yaparız.
// set the insets
c.insets = new Insets(35, 0, 10, 0);
ÖrnekŞöyle yaparız. Bir sonraki satır için 100 birim boşluk bırakır.
JPanel p = new JPanel();
p.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
JLabel l = new JLabel("First Name");
p.add(l, gbc);
JTextField j = new JTextField(12);
gbc.gridx++;
p.add(j, gbc);
gbc.gridx = 0;
gbc.gridy++;
gbc.gridwidth = GridBagConstraints.REMAINDER;
JRadioButton j1 = new JRadioButton("Male");
JRadioButton j2 = new JRadioButton("Female");
ButtonGroup bg = new ButtonGroup();
bg.add(j1);
bg.add(j2);
JPanel buttons = new JPanel();
buttons.add(j1);
buttons.add(j2);
p.add(buttons, gbc);
gbc.gridy++;
gbc.insets = new Insets(100, 0, 0, 0);
JButton b = new JButton("Submit");
p.add(b, gbc);
weightx AlanıŞöyle yaparız. 0'dan farklı ise hücre 0 olarak eklenmiş bileşenlerden arta kalan alanın %50'sini alacak şekilde genişler.
c.weightx = 0.5;
Eğer şu şekildeyse dikey ve yatay olarak genişler.gbc.fill = GridBagConstraints.BOTH;
Eğer şu şekildeyse yatay olarak genişler.gbc.fill = GridBagConstraints.HORIZONTAL;
weighty AlanıŞöyle yaparız. 0'dan farklı ise hücre dikeyde genişler.
c.weighty = 0.5;
Kullanım
Önce bileşenin layout'u GridBagLayout yapılır. Şöyle yaparız
// set the layout to GridBagLayout
setLayout(new GridBagLayout());
Layout'a bileşen eklemek için şöyle yaparız.JLabel label = ...;
// create a grid bag constraints instance
GridBagConstraints c = new GridBagConstraints();
...
// add the layouts label to the view
add(label, c);
ÖrnekŞöyle yaparız.
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 1;
JLabel label1 = ...;
JLabel label2 = ..;
add(label1, gbc);
gbc.gridy = 2;
add(label2, gbc);
Hiç yorum yok:
Yorum Gönder