Trỡnh quản lý hiển thị trong Java

Một phần của tài liệu Giáo trình Java (Trang 184 - 187)

Khi thiết kế giao diện đồ họa cho một ứng dụng, chỳng ta phải quan tõm đến kớch thước và cỏch bố trớ (layout) cỏc thành phần giao diện như: JButton, JCheckbox, JTextField, v.v. sao cho tiện lợi nhất đối với người sử dụng. Java cú cỏc lớp đảm nhiệm những cụng việc trờn và quản lý cỏc thành phần giao diện GUI

bờn trong cỏc vật chứa.

Bảng sau cung cấp bốn lớp quản lý layout (cỏch bố trớ và sắp xếp) cỏc thành phần GUI.

Tờn lớp Mụ tả

FlowLayout Xếp cỏc thành phần giao diện trước tiờn theo hàng từ trỏi qua phải, sau đú theo cột từ trờn xuống dưới. Cỏch sắp xếp này là mặc định đối với Panel, JPanel ,Applet và JApplet.

GridLayout Cỏc thành phần giao diện được sắp xếp trong cỏc ụ lưới hỡnh chữ nhật lần lượt theo hàng từ trỏi qua phải và theo cột từ trờn xuống dưới trong một phần tử chứa. Mỗi thành phần giao diện chứa trong một ụ.

BorderLayout Cỏc thành phần giao diện (ớt hơn 5) được đặt vào cỏc vị trớ theo cỏc hướng: north (bắc), south (nam), west (tõy), east (đụng) và center

(trung tõm)). Cỏch sắp xếp này là mặc định đối với lớp Window, Frame, Jframe, Dialog và JDialog.

GridBagLayout Cho phộp đặt cỏc thành phần giao diện vào lưới hỡnh chữ nhật, nhưng một thành phần cú thể chiếm nhiều nhiều hơn một ụ.

null Cỏc thành phần bờn trong vật chứa khụng được sẵp lại khi kớch thước của vật chứa thay đổi.

Cỏc phương phỏp thiết đặt layout

Để lấy về layout hay để đặt lại layout cho vật chứa, chỳng ta cú thể sử dụng hai phương thức của lớp Container:

LayoutManager getLayout(); void setLayout(LayoutManager mgr);

Cỏc thành phần giao diện sau khi đó được tạo ra thỡ phải được đưa vào một phần tử chứa nào đú. Hàm add() của lớp Container được nạp chồng để thực hiện nhiệm vụ đưa cỏc thành phần vào phần tử chứa.

Component add(Component comp)

Cmponent add(Component comp, Object constraints)

Cmponent add(Component comp, Object constraints, int index)

Trong đú, đối số index được sử dụng để chỉ ra vị trớ của ụ cần đặt thành phần giao diện comp vào. Đối số constraints xỏc định cỏc hướng để đưa comp vào phần tử chứa.

Ngược lại, khi cần loại ra khỏi phần tử chứa một thành phần giao diện thỡ sử dụng cỏc hàm sau:

void remove(int index)

void remove(Component comp) void removeAll()

1. Lớp FlowLayout

Lớp FlowLayout cung cấp cỏc hàm tạo lập để sắp hàng cỏc thành phần giao diện:

FlowLayout()

FlowLayout(int aligment)

FlowLayout(int aligment, int horizongap, int verticalgap) public static final int LEFT

public static final int CENTER public static final int RIGHT

Đối số aligment xỏc định cỏch sắp theo hàng: từ trỏi, phải hay trung tõm,

horizongap và verticalgap là khoảng cỏch tớnh theo pixel giữa cỏc hàng

cỏc cột. Trường hợp mặc định thỡ khoảng cỏch giữa cỏc hàng, cột là 5 pixel.

2. Lớp GridLayout (adsbygoogle = window.adsbygoogle || []).push({});

Lớp GridLayout cung cấp cỏc hàm tạo lập để sắp hàng cỏc thành phần giao diện:

GridLayout()

GridLayout(int rows, int columns)

Tạo ra một lưới hỡnh chữ nhật cú rows ( columns ụ cú khoảng cỏch giữa cỏc hàng cỏc cột là horizongap, verticalgap. Một trong hai đối số rows hoặc columns cú thể là 0, nhưng khụng thể cả hai, GridLayout(1,0) là tạo ra lưới

cú một hàng.

3.Lớp BorderLayout

Lớp BorderLayout cho phộp đặt một thành phần giao diện vào một trong bốn hướng: bắc (NORTH), nam (SOUTH), đụng (EAST), tõy (WEST) và ở giữa (CENTER).

BorderLayout()

BorderLayout(int horizongap, int verticalgap)

Tạo ra một layout mặc định hoặc cú khoảng cỏch giữa cỏc thành phần (tớnh bằng pixel) là horizongap theo hàng và verticalgap theo cột.

Component add(Component comp)

void add(Component comp, Object constraint)

public static final String NORTH public static final String SOUTH public static final String EAST public static final String WEST public static final String CENTER

Trường hợp mặc định là CENTER, ngược lại, cú thể chỉ định hướng để đặt cỏc thành phần comp vào phần tử chứa theo constraint là một trong cỏc hằng trờn.

Một phần của tài liệu Giáo trình Java (Trang 184 - 187)