0
Tải bản đầy đủ (.pdf) (173 trang)

Trình bày GridBagLayout

Một phần của tài liệu TÀI LIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - PGS TS TRẦN ĐÌNH QUẾ & KS NGUYỄN MẠNH HÙNG PPT (Trang 140 -142 )

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 TÀI LIỆU LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG - PGS TS TRẦN ĐÌNH QUẾ & KS NGUYỄN MẠNH HÙNG PPT (Trang 140 -142 )

×