Trình bày GridBagLayout

Một phần của tài liệu Lập trình hướng đối tượng Java PTIT (Trang 140)

L P TRÌNH GIAO DIN TRÊN JAVA

6.3.4 Trình bày GridBagLayout

Cách trình bày GridBag Layout c ng trình bày các đ i t ng t ng t nh Grid Layout: Các đ i t ng s đ c đnh v theo v trí các ô (cell) c a m t khung l i (grid). Tuy nhiên, GridBag cho phép ta đnh kích th c c a đ i t ng s chi m bao nhiêu ô và s đ c đ t v trí nào trong khung l i. Các ph ng th c c b n:

• GridBagLayout(): Kh i t o m t đ i t ng trình bày theo cách gridbag.

• setConstraints(Component, GridBagConstraints): t v trí và kích th c c a đ i t ng component theo các ràng bu c trong gridbagConstraints.

GridBagConstraints

ây là l p ch a các ràng bu c cho các đ i t ng đ c trình bày theo cách GridBag. Các ph ng th c và thu c tính c b n c a l p GridBagConstraints:

• GridBagConstraints(): Kh i t o m t đ i t ng ràng bu c c a GridBag.

• gridx/gridy: V trí c a cell mà ta mu n đ t đ i t ng vào (theo chi u X và chi u Y).

• gridwidth/gridheight: Kích th c (vùng trình bày) c a đ i t ng (Theo chi u r ng và chi u cao).

• fill: Xác đnh cách đ t đ i t ng, theo 4 cách:

- GridBagConstraints.NONE: i t ng không thay đ i kích th c theo các cell nó chi m.

- GridBagConstraints.VERTICAL: i t ng có chi u cao kín vùng nó chi m - GridBagConstraints.HORIZONAL: i t ng có chi u r ng kín vùng nó chi m - GridBagConstraints.BOTH: i t ng có chi u cao và chi u r ng ph kín vùng

nó chi m.

• ipadx/ipady: nh đ n v t ng gi m kích th c c a đ i t ng khi khung ch a b thay đ i kích th c (theo chi u X và chi u Y).

• insets: Xác đnh kho ng cách gi a các cell theo b n h ng: Trên, d i, trái, ph i.

• anchor: Xác đnh v trí neo đ i t ng khi kích th c khung ch a thay đ i. Bao g m: NORTH, NORTHEAST, NORTHWEST, EAST, SOUTH, SOUTHEAST, SOUTHWEST.

• weightx/weighty: nh kho ng cách l n ra t ng đ i gi a các đ i t ng v i nhau. Ch ng trình 6.15 minh ho cách trình bày gridbag: T o ra ba nút nh n trong frame, m i nút có m t s ràng bu c khác nhau v kích th c và v trí.

Ch ng trình 6.15

package vidu.chuong6; import java.awt.*;

public class GridBagLayoutDemo{

// Khai báo và kh i t o frame có tiêu đ

Frame myFrame = new Frame(“Frame has somes buttons!”); myFrame.setSize(300,150); // nh kích c frame

GridBagLayout layout = new GridBagLayout();

myFrame.setLayout(layout); // nh cách trình bày

// Khai báo đ i t ng ràng bu c

GridBagConstraints cts = new GridBagConstraints(); cts.fill = GridBagConstraints.BOTH;

// Button1: v trí (1,1), kích th c (1,1) Button btn1 = new Button(“Click1”);

cts.gridx = 1; cts.gridy = 1; cts.gridheight = 1; cts.gridwidth = 1;

layout.setConstraints(btn1, cts); // nh ràng bu c myFrame.add(btn1); // G n vào frame

// Button2: v trí (2,2), kích th c (1,1) Button btn2 = new Button(“Click2”);

cts.gridx = 2; cts.gridy = 2; cts.gridheight = 1; cts.gridwidth = 1;

layout.setConstraints(btn2, cts); // nh ràng bu c myFrame.add(btn2); // G n vào frame

// Button3: v trí (3,3), kích th c (1,1) Button btn3 = new Button(“Click3”);

cts.gridx = 3; cts.gridy = 3; cts.gridheight = 1; cts.gridwidth = 1;

layout.setConstraints(btn3, cts); // nh ràng bu c myFrame.add(btn3); // G n vào frame

myFrame.setVisible(true); // Hi n th frame }

Hình 6.14: K t qu demo Gridbag layout

Một phần của tài liệu Lập trình hướng đối tượng Java PTIT (Trang 140)