intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng: Giao diện quản lý

Chia sẻ: Ptit Ptit | Ngày: | Loại File: PPT | Số trang:24

102
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'bài giảng: giao diện quản lý', công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Bài giảng: Giao diện quản lý

  1. Bài 5 Layout Managers
  2. 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 2/ 24
  3. 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 3/ 24
  4. 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 4/ 24
  5. 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 5/ 24
  6. 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 6/ 24
  7. FlowLayout Manager Contd… Flow Layout – Left and Right Aligned Bài 05 7/ 24
  8. Example import java.awt.*; import java.awt.event.*; class FlowlayoutDemo extends Frame { Label lblName; TextField txtName; Button btnOk; Output 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 8/ 24
  9. 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 9/ 24
  10. 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  Bài 05 10/ 24
  11. Example import java.awt.*; public class BorderLayoutDemo extends Frame { public BorderLayoutDemo() Output    { setLayout(new BorderLayout()); Button best = new Button("EAST");      Button bwest = new Button("WEST");      Button bnorth = new Button("NORTH");      Button bsouth = new Button("SOUTH");      Button bcentre = new Button("CENTER");      add(best, BorderLayout.LINE_END);      add(bwest, BorderLayout.LINE_START);      add(bnorth, BorderLayout.PAGE_START);      add(bsouth, BorderLayout.PAGE_END);      add(bcentre, BorderLayout.CENTER);    }    public static void main(String [] args)    {    BorderLayoutDemo frmBorder = new BorderLayoutDemo();    frmBorder.setSize(300,300);    frmBorder.setVisible(true);    } } Bài 05 11/ 24
  12. 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
  13. Hình ảnh của GridLayout Bài 05 13/ 24
  14. GridBagLayout Manager Các component thường có kích thước khác   nhau Components được sắp xếp theo rows, cols  Thứ tự các comp có thể ko theo chiều top­to­  bottom or left­to­right Thiết lập GridBaglayout cho 1 container theo   cú pháp như sau: GridBagLayout gb = new GridBagLayout(); ContainerName.setLayout(gb); Bài 05 14/ 24
  15. 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
  16. GridBagLayout Manager Các thuộc tính của GridBagConstraints :  weightx, weighty: xác định khoảng trống   trong GridbagLayout gridwidth, gridheight: Xác định số ô theo   chiều ngang, dọc để hiển thị component ipadx, ipady: lượng làm thay đổi chiều cao,   chiều rộng tối thiểu, nó sẽ thêm 2*ipadx vào chiều  rộng tối thiểu và 2*ipady vào chiều cao Bài 05 16/ 24
  17. 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
  18. Example cbg = new CheckboxGroup(); import java.awt.*; cbbold = new Checkbox("Bold",cbg,false); cbitalic = new Checkbox("Italic",cbg,false); public class GridbagLayoutDemo extends Framecbplain = new Checkbox("Plain",cbg,false); { cbboth = new Checkbox("Bold/Italic",cbg,true); TextArea ObjTa; gbc.fill = GridBagConstraints.BOTH; TextField ObjTf; addComponent(ObjTa,0,0,4,1); Button butta, buttf; gbc.fill = GridBagConstraints.HORIZONTAL; CheckboxGroup cbg; addComponent(butta,0,1,1,1); Checkbox cbbold,cbitalic,cbplain,cbboth; gbc.fill = GridBagConstraints.HORIZONTAL; GridBagLayout gb; addComponent(buttf,0,2,1,1); GridBagConstraints gbc; gbc.fill = GridBagConstraints.HORIZONTAL; public GridbagLayoutDemo() addComponent(cbbold,2,1,1,1); { gbc.fill = GridBagConstraints.HORIZONTAL;        gb = new GridBagLayout(); //tao mot doi tuong gridbaglayout addComponent(cbitalic,2,2,1,1);        setLayout(gb); gbc.fill = GridBagConstraints.HORIZONTAL;        gbc = new GridBagConstraints();  addComponent(cbplain,3,1,1,1);  //doi tuong gridbagconstraints de quan ly cac rang buoc ­>gan vao gb gbc.fill = GridBagConstraints.HORIZONTAL; addComponent(cbboth,3,2,1,1);         ObjTa = new TextArea("Textarea ",5,10); gbc.fill = GridBagConstraints.HORIZONTAL;         ObjTf = new TextField("enter your name"); addComponent(ObjTf,4,0,1,3);          butta = new Button("TextArea"); }           buttf = new Button("TextField"); Bài 05 18/ 24
  19. 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
  20. Example Output Bài 05 20/ 24
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2