Bài giảng Lập trình Java 3 - Bài 3: Layout Manager

Layout Manager

 Một Container là một Component có thể chứa các

Component khác

 JFrame, JDialog, JScollPane, Jpanel, JDesktopPane,

JInternalFrame

 getContentPane().add để thêm Component vào Container

 Mỗi Container có một đối tượng Layout Manager

 Layout Manager là một đối tượng quyết định cách sắp

xếp vị trí của các Component bên trong một Container.

 Các Layout Manager “implements” từ interface

LayoutManager hoặc LayoutManger2

pdf 23 trang kimcuc 8480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java 3 - Bài 3: Layout Manager", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình Java 3 - Bài 3: Layout Manager

Bài giảng Lập trình Java 3 - Bài 3: Layout Manager
 SOF203 - Lập trình Java 3 
Bài 3: Layout manager 
Mục tiêu bài học 
Giới thiệu về quản lý bố cục 
 FlowLayout 
 BorderLayout 
 GridLayout 
 CardLayout 
 BoxLayout 
 GridBagLayout 
 SpringLayout 
 GroupLayout 
 TabbedPaneLayout 
 SplitPaneLayout 
Layout Manager 
 Một Container là một Component có thể chứa các 
Component khác 
 JFrame, JDialog, JScollPane, Jpanel, JDesktopPane, 
JInternalFrame 
 getContentPane().add để thêm Component vào Container 
 Mỗi Container có một đối tượng Layout Manager 
 Layout Manager là một đối tượng quyết định cách sắp 
xếp vị trí của các Component bên trong một Container. 
 Các Layout Manager “implements” từ interface 
LayoutManager hoặc LayoutManger2. 
FlowLayout 
FlowLayout 
 Flow Layout bố trí các Component trong Container theo 
dòng, từ trái sang phải theo thứ tự thêm vào. 
 Tạo dòng mới khi kích thước dòng còn lại không đủ chứa 
Component thêm vào. 
 Flow Layout bố trí vị trí các Component phụ thuộc vào 
kích thước của Container. 
 Mỗi dòng của các Component được window mặc định 
canh giữa theo chiều ngang . Có thể điều chỉnh canh trái 
hoặc phải 
FlowLayout 
 Khởi tạo 
• public FlowLayout () 
• align: FlowLayout.CENTER 
• vgap: 5px, hgap: 5px 
• FlowLayout (int align) 
• align: canh lề 
• FlowLayout.CENTER : Canh giữa 
• FlowLayout.LEFT; : Canh trái 
• FlowLayout.RIGHT; : Canh phải 
• FlowLayout(int align, int vgap, int hgap) 
• align : canh lề 
• vgap : kích thước chiều ngang 
• hgap: chiều dọc 
FlowLayout 
 Phương thức 
 public void setAlignment(int align) 
 public void setHgap(int hgap) 
 public void setVgap (int vgap) 
 public int getAlignment() 
 public int getHgap () 
 public int getVgap () 
FlowLayout 
 Ví dụ: 
BorderLayout 
 Border Layout bố trí các Component bên trong Container 
theo 5 vùng: 
 "North", "South", "East", "West" ,"Center". 
' 1 BorderLayout 1,0 1"® 
 NORTHÍ 
WEST CENTER EAST 
 SOUTH 
BorderLayout 
 khởi tạo: 
• public BorderLayout () 
• hgap = 0 
• vgap = 0 
• public BorderLayout (int hgap, int vgap) 
• hgap: chiều ngang 
• vgap : chiều dọc 
BorderLayout 
CardLayout 
 Card Layout quản lý nhiều Card cùng một không gian 
hiển thị 
 Card Layout giúp quản lý hai hay nhiều Component 
(thường là JPanel) để chia sẽ cùng một không gian hiển 
thị. 
 Chỉ duy nhất Top Card được hiển thị. 
 Mỗi “Card” có thể sử dụng Layout Manager riêng. 
 Card nào cũng có thể là Top Card 
 Có thể sử dụng JTabbedPane để thay cho Card Layout 
CardLayout 
 khởi tạo : 
• public CardLayout () 
• hgap = 0 
• vgap = 0 
• public CardLayout (int hgap, int vgap) 
• hgap: chiều ngang 
• vgap : chiều dọc 
CardLayout 
 Phương thức 
• public void setHgap(int hgap) 
• public void setVgap(int vgap) 
• public int getHgap() 
• public int getVgap() 
• public void next (Container parent) 
• public void previous(Container parent) 
• public void first(Container parent) 
• public void last(Container parent) 
• public void show(Container parent, String name) 
 
CardLayout 
GridLayout 
 Grid Layout bố trí các Component của Container vào 
bên trong một Grid với các Row và Column. 
 Mỗi Component được bố trí trong 1 Cell của lưới. 
 Tất cả các Cell có cùng kích thước bên trong Grid. 
 Các Component được thêm vào Container theo thứ tự từ 
trái sang phải, từ trên xuống dưới (mặc định). 
 Kích thước của mỗi Cell được xác định bởi kích thước 
của Container. 
GridLayout 
 Khởi tạo 
• GridLayout() 
• rows: 1 
• -1 Component / 1 Column 
• GridLayout(int rows, int cols) 
• GridLayout(int rows, int cols, int hgap, int vgap) 
GridLayout 
 GridBag Layout bố trí các Component trong một Grid 
với các Row và Column. 
 Mỗi Component bên trong Grid được RowSpan và 
ColumnSpan (giống table HTML) 
 Width và Height của các Row/Column có thể khác nhau. 
 GridBag Layout là một Layout Manager rất linh động 
cho việc bố trí các Component bên trong Container theo 
dạng Grid. 
 GridBag Layout là một trong các Layout Manager 
thường sử dụng nhất mà Java Platform cung cấp. 
GridLayout 
 Các thuộc tính của GridBagContraints 
• gridx ,gridy : vị trí dòng, vị trí cột 
• gridheight , gridwidth : số lượng dòng, số lượng cột 
• ipadx, ipady : 
• Insets 
• weightx, weighty 
• fill : 
• NONE, HORIZONTAL, VERTICAL, BOTH 
GridLayout 
 Các thuộc tính của GridBagContraints 
• anchor: 
BoxLayout 
 Box Layout bố trí các Component bên trong Container 
theo 1 dòng theo trục X, hoặc là trục Y. 
 BoxLayout(Container container, int align) 
 container: chứa các Component 
 axis: 
 BoxLayout.X_AXIS : Trục X 
 BoxLayout.Y_AXIS : Trục Y 
GroupLayout 
 Group Layout bố trí các Component bên trong Container 
theo chiều ngang và chiều dọc. 
 Sự bố trí được thực hiện theo mỗi chiều riêng lẽ 
 
XIN CẢM ƠN! 

File đính kèm:

  • pdfbai_giang_lap_trinh_java_3_bai_3_layout_manager.pdf