Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
518,5 KB
Nội dung
Layout Managers Bài 5 Bài 05 2/ 24 Nội dung chính Định nghĩa và chức năng của layout managers Các kiểu Layouts Ứng dụng của layout managers Nội dung chi tiết các loại layouts: FlowLayout BorderLayout GridLayout CardLayout GridBagLayout Bài 05 3/ 24 Layout Manager Các component trên giao diện người dùng nên được sắp xếp theo một trình tự hợp lý. Mỗi nhóm component nên sắp theo một bố cục riêng cho phù hợp nhất. Để quản lý bố cục ta có layout managers. Bài 05 4/ 24 Các kiểu Layouts AWT cung cấp một số lớp để quản lý layout được gọi là layout managers. Các kiểu layout : FlowLayout BoxLayout BorderLayout CardLayout GridLayout GridBagLayout Bài 05 5/ 24 Thiết lập layouts như thế nào? Component đầu tiên được thiết lập, nó sẽ sử dụng layout mặc định. Layout mặc định của applet là FlowLayout Layout mặc định của Frame là BorderLayout Tất cả components được đặt trong một container và được sắp xếp theo layout thiết lập cho nó. Một layout manager có thể được thiết lập nhờ method setLayout() Bài 05 6/ 24 FlowLayout Manager Layout mặc định của applet và panel Các Components được sắp xếp theo thứ từ góc trái trên xuống góc phải dưới. Constructors của FlowLayout là : FlowLayout mylayout = new FlowLayout(); FlowLayout exLayout = new FlowLayout(FlowLayout.LEFT); // alignment specified Bài 05 7/ 24 FlowLayout Manager Contd… Flow Layout – Left and Right Aligned Bài 05 8/ 24 Example Output import java.awt.*; import java.awt.event.*; class FlowlayoutDemo extends Frame { Label lblName; TextField txtName; Button btnOk; public FlowlayoutDemo(String title) { super(title); setLayout(new FlowLayout()); lblName = new Label("Name: "); txtName = new TextField(20); btnOk = new Button("Ok"); add(lblName); add(txtName); add(btnOk); } public static void main(String[]arg) { FlowlayoutDemo frmLayout = new FlowlayoutDemo("Flowlayout Demo "); frmLayout.setSize(300,200); frmLayout.setVisible(true); } } Bài 05 9/ 24 BorderLayout Manager Là layout mặc định cho Window, Frame và Dialog Các component có thể được đặt vào các vùng North, South, East, West, or Center của container sử dụng BorderLayout Bài 05 10/ 24 BorderLayout Manager Các hằng số xác định vùng để đặt component vào container: PAGE_START: đỉnh trên container theo chiều dọc LINE_END: bên phải container theo chiều ngang PAGE_END: đỉnh dưới container theo chiều dọc LINE_START: bên trái container theo chiều ngang LINE_CENTER: center của container [...]... frmBorder.setVisible(true); } } Output Bài 05 11/ 24 GridLayout Manager GridLayout chia container thành lưới hình chữ nhật Các component sẽ được sắp xếp trong các cell Thường dùng khi các component có cùng kích thước Constructor của GridLayout: GridLayout g1= new GridLayout(4,3); (khởi tạo một grid 4 hàng, 3 cột) Bài 05 12/ 24 Hình ảnh của GridLayout Bài 05 13/ 24 GridBagLayout Manager ... sau: GridBagLayout gb = new GridBagLayout(); ContainerName.setLayout(gb); Bài 05 14/ 24 GridBagLayout Manager Để sử dụng Gridbaglayout ta phải thiết lập thông tin về size và layout của mỗi component Lớp GridBagConstraints chứa đựng tất cả các thông tin được GridBagLayout yêu cầu để cung cấp vị trí, kích thước của component Bài 05 15/ 24 GridBagLayout Manager Các thuộc tính của GridBagConstraints... rộng tối thiểu và 2*ipady vào chiều cao Bài 05 16/ 24 GridBagLayout Manager Các thuộc tính của GridBagConstraints: Anchor: vị trí của comp trong cell (NORTH, WEST,EAST, SOUTH…) gridx, gridy: vị trí cell sẽ đặt comp Fill: cách mà một thành phần đc bố trí vào cell ntn nếu cell lớn hơn comp Insets: xác định khoảng cách top, bottom, left và right giữa các comp Bài 05 17/ 24 Example cbg = new CheckboxGroup();... import java.awt.*; Bài 05 18/ 24 Example public void addComponent(Component comp, int row, int col, int nrow, int ncol) { gbc.gridx = col; gbc.gridy = row; gbc.gridwidth = ncol; gbc.gridheight = nrow; gb.setConstraints(comp,gbc); add(comp); } } public static void main(String []args) { GridbagLayoutDemo frmGrid= new GridbagLayoutDemo(); frmGrid.setSize(250,200); frmGrid.setVisible(true); } Bài 05 19/ 24... frmGrid.setSize(250,200); frmGrid.setVisible(true); } Bài 05 19/ 24 Example Output Bài 05 20/ 24 CardLayout Manager Có thể lưu trữ như một ngăn xếp các layouts Mỗi layout giống như một card trong thân Card thường là đối tượng Panel Sử dụng khi chúng ta muốn dùng nhiều panel mà mỗi panel chỉ hiển thị một thời điểm Main panel sẽ chứa đựng các panel này Bài 05 21/ 24 Example /* . layouts: FlowLayout BorderLayout GridLayout CardLayout GridBagLayout Bài 05 3/ 24 Layout Manager Các component trên giao diện người dùng nên được sắp xếp theo một trình tự hợp lý. Mỗi nhóm component nên sắp theo một bố cục riêng cho phù hợp nhất. Để quản. theo một bố cục riêng cho phù hợp nhất. Để quản lý bố cục ta có layout managers. Bài 05 4/ 24 Các kiểu Layouts AWT cung cấp một số lớp để quản lý layout được gọi là layout managers. Các kiểu. Layout Managers Bài 5 Bài 05 2/ 24 Nội dung chính Định nghĩa và chức năng của layout managers Các kiểu Layouts Ứng