GridLayout –– Ví d Ví dụ ụ

Một phần của tài liệu Chương 6: Lập trình GUI pdf (Trang 60 - 67)

M ột số phương thức thông dụng: voidaddItem(String);

GridLayout –– Ví d Ví dụ ụ

61

GridBagLayout (1)GridBagLayout (1) GridBagLayout (1)

Tương tự như GridLayout, các ñối tượng khung chứa cũng ñược ñưa vào một lưới vô hình.

Tuy nhiên kích thước các ñối tượng không nhất thiết phải vừa với một ô mà có thể là 2, 3 ô hay nhiều hơn tùy theo các ràng buộc mà ta chỉ ñịnh thông qua ñối tượng

Làm sao ñể có thể ñưa một component vào một vị trí nhưng trải dài trên nhiều ô kề nhau?

Một component vào một vị trí nhưng trải dài trên nhiều ô kề nhau là một sự “ràng buộc” một component vào các ô này.

Một ñối tượng thuộc lớp GridBagConstraints sẽ ñảm nhiệm việc này.

GridBagLayout (2)GridBagLayout (2) GridBagLayout (2)

63

GridBagLayout (3)GridBagLayout (3) GridBagLayout (3)

Lớp GridBagConstraints dẫn xuất từ lớp Object.

int gridx, gridy: Vị trí ô của khung lưới vô hình mà ta sẽ ñưa ñối tượng con vào

int gridwidth, gridheight: Kích thước hay vùng trình bày cho ñối tượng con.

Insets: Là một biến ñối tượng thuộc lớp Inset dùng ñể

qui ñịnh khoảng cách biên phân cách theo 4 chiều (trên, dưới, trái, phải).

double weightx, weighty: Khoảng hở của lưới, mặc

ñịnh là 0.

GridBagConstraintsGridBagConstraints GridBagConstraints

65

NullLayoutNullLayout NullLayout

Cách trình bày tự do.

ðối với cách trình bày này người lập trình phải tự làm tất cả từ việc ñịnh kích thước của các ñối tượng, cũng như

xác ñịnh vị trí của nó trên màn hình.

Frame fr = new Frame("NullLayout Demo"); fr.setLayout(null);

classNullLayoutDemo{

public static voidmain(String args[]){

Frame fr = new Frame("NullLayout Demo"); fr.setLayout(null);

Button buttOk = newButton("OK"); buttOk.setBounds(100, 150, 50, 30); Button buttCancel = newButton("Cancel"); buttCancel.setBounds(200, 150, 50, 30);

Checkbox checkBut = new Checkbox("Check box", true); checkBut.setBounds(100, 50, 100, 20);

List li = newList(); for(int i=0; i<5; i++)

li.add(Integer.toString(i)); li.setBounds(200, 50, 50, 50); fr.add(buttOk); fr.add(buttCancel); fr.add(checkBut); fr.add(li); fr.setBounds(10, 10, 400, 200); fr.setVisible(true); classNullLayoutDemo{

public static voidmain(String args[]){

Frame fr = new Frame("NullLayout Demo"); fr.setLayout(null);

Button buttOk = newButton("OK"); buttOk.setBounds(100, 150, 50, 30); Button buttCancel = newButton("Cancel"); buttCancel.setBounds(200, 150, 50, 30);

Checkbox checkBut = new Checkbox("Check box", true); checkBut.setBounds(100, 50, 100, 20);

List li = newList(); for(int i=0; i<5; i++)

li.add(Integer.toString(i)); li.setBounds(200, 50, 50, 50); fr.add(buttOk); fr.add(buttCancel); fr.add(checkBut); fr.add(li); fr.setBounds(10, 10, 400, 200); fr.setVisible(true); NullLayout NullLayout –– Ví dVí d

67

Một phần của tài liệu Chương 6: Lập trình GUI pdf (Trang 60 - 67)

Tải bản đầy đủ (PDF)

(73 trang)