Container là vùng mà bạn có thể đặt các thành phần của bạn vào đó. Bất cứ vật gì mà kế thừa từ lớp Container sẽ là một container. Applet là một container, applet được dẫn xuất từ panel, lớp panel lại được dẫn xuất từ lớp Container.
Một container có thể chứa nhiều phần tử, các phần tử này có thể được vẽ hay được tô màu tuỳ thích. Bạn hãy xem container như một cửa sổ. Đã là cửa sổ thì phải có khung (frame), pane, latch, hook, và các thành phần có kích thước nhỏ hơn.
Gói java.awt chứa một lớp gọi là Container. Lớp này trực tiếp hay gián tiếp phát sinh ra hai container được sử dụng phổ biến nhất là Frame và Panel.
Frame và Panel là các container thường được sử dụng. Frame là các cửa sổ được tách riêng nhau nhưng ngược lại panel là các vùng được chứa trong một cửa sổ. Panel không có các đường viền, chúng được trình bày trong một cửa sổ do trình duyệt hay appletviewer cung cấp. Appletviewer là một công cụ được JDK hỗ trợ để xem các applet. Frame là lớp con của Window. Chúng được trình bày trong một cửa sổ độc lập, cửa sổ này có chứa các đường viền xung quanh.
1. Frame
Frame không phụ thuộc vào applet và trình duyệt. Frame có thể hoạt động như một container hay như một thành phần (component). Bạn có thể sử dụng một trong những constructor sau để tạo một frame:
- Frame(): Tạo một frame vô hình (không nhìn thấy được)
- Frame(String, title): Tạo một frame với nhan đề trống.
Ví dụ
import java.awt.*;
class FrameDemo extends Frame {
public FrameDemo(String title){
super(title);
}
public static void main(String args[]){
FrameDemo f=new FrameDemo(“I have been Frameed!!!”);
f.setSize(300,200);
f.setVisible(true);
}
}
Kết quả thu được
2. Panel:
Panel được sử dụng để nhóm một số các thành phần lại với nhau. Cách đơn giản nhất để tạo một panel là sử dụng hàm constructor của nó, hàm Panel().
import java.awt.*;
class Paneltest extends Panel {
public static void main(String args[]){
Paneltest p=new Paneltest();
Frame f=new Frame(“Testing a Panel”);
f.add(p);
f.setSize(300,200);
f.setVisible(true);
}
public Paneltest(){
}
}
Panel không thể được nhìn thấy trực tiếp. Do đó, chúng ta cần thêm panel đến một frame. Vì vậy ta cần tạo một frame mới và thêm Panel mới được tạo này vào nó. Tuy nhiên, frame sẽ không nhìn thấy được, và không có kích thước. Chúng ta sử dụng hai phương thức trong phương thức main – setSize() và setVisible() để thiết lập kích thước và hiển thị frame.
Kết quả thu được:
3. Dialog
Lớp ‘Dialog’ tương tự như lớp Frame, nghĩa là Dialog là lớp con của lớp Window. Đối tượng dialog được tạo như sau:
Frame myframe=new Frame(“My frame”); // calling frame
String title = “Title”;
boolean modal = true; // whether modal or not
Dialog dlg=new Dialog(myframe, title, modal);
Số hạng ‘modal’ chỉ ra rằng dialog sẽ ngăn chặn bất kỳ tương tác nào xảy đến với các cửa sổ được mở khác, trong khi dialog đang được hiển thị trên màn hình. Kiểu hộp thoại này ngăn chặn người dùng tương tác với các cửa sổ khác trên màn hình, cho tới khi dialog được đóng lại.
Như vậy, qua bài học này, chúng ta đã tìm hiểu các container cơ bản trong Java AWT. Cảm ơn các bạn đã đọc.