1. Trang chủ
  2. » Công Nghệ Thông Tin

SỬ DỤNG LAYOUT MANAGER TRONG THIẾT KẾ GIAO DIỆN

34 841 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 199,74 KB

Nội dung

SỬ DỤNG LAYOUT MANAGER TRONG THIẾT KẾ GIAO DIỆN

Trang 1

SỬ DỤNG LAYOUT MANAGER TRONG THIẾT KẾ GIAO DIỆN

Nhóm 3

Trang 2

NỘI DUNG

Giới thiệu Chức năng của các Layout

Demo

Trang 3

I GIỚI THIỆU

1. Layout manager là gì?

a. Layout: Cách bố trí các thành phần trên container, hay nói

cách khác là cách sắp xếp các thành phần vào các vị trí đặc biệt trong container Việc này được quản lý bởi LayoutManager

b. LayoutManager: Sắp xếp vị trí của các components một

cách tự động, thay vì xác định chính xác về vị trí và kích thước của các components trong container Nếu chúng ta không sử dụng LayoutManger thì các component cũng được sắp xếp theo LayoutManager mặc định

Trang 4

I GIỚI THIỆU

1. Layout manager là gì?

c. Những hạn chế khi không sử dụng layout: Chúng ta

cũng có thể sắp xếp các component bằng tay, tuy nhiên nó gặp nhiều rắc rối:

 Khó khăn trong việc xử lý nhiều component

 Thường thì thông tin chiều rộng và chiều cao của component không được đưa ra khi sắp xếp chúng

Trang 5

I GIỚI THIỆU

2. Phân loại các Layout manager

Các loại LayoutManager hổ trợ trong java bao gồm:

Trang 6

II CÁC LOẠI LAYOUT MANAGER

1. BorderLayout

a. Giới thiệu

Trang 7

II CÁC LOẠI LAYOUT MANAGER

1 BorderLayout

a Đặc điểm:

Sắp xếp các thành phần(component) vào 5 khu vực: East, West, North,

South và Center Mỗi khu vực chỉ có thể chứa một thành phần và mỗi

thành phần trong từng khu vực được xác định bởi các hằng số tương ứng:

NORTH, SOUTH, EAST, WEST và CENTER Nếu chỉ có container chỉ

chứa một component thì nó sẽ phủ kín container đó.

 Là layout manager mặc định của Jframe.

Trang 8

II CÁC LOẠI LAYOUT MANAGER

Trang 9

II CÁC LOẠI LAYOUT MANAGER

1 BorderLayout

d Một số phương thức hay sử dụng

public void setHgap( int hgap)

public void setVgap( int vgap)

public Object getConstraints (Component comp )

public float getLayoutAlignmentX (Container parent )

public float getLayoutAlignmentY (Container parent )

public Component getLayoutComponent( Container target, Object constraints)

public Component getLayoutComponent( Object constraints)

Tham khảo thêm tại nguồn: http

://docs.oracle.com/javase/7/docs/api/java/awt/BorderLayout.html

Trang 10

II CÁC LOẠI LAYOUT MANAGER

2 FlowLayout

a Đặc điểm:

Sắp xếp các components trên cùng một dòng từ góc trên bên trái đến

góc dưới bên phải của màn hình, khi nào hết chỗ chứa nó sẽ tự động xuống dòng, ta cũng có thể điều chỉnh hướng xuất hiện của components

 Mặc định khi một JPanel được khởi tạo thì bản thân lớp chứa này sẽ có

kiểu Layout là FlowLayout

Trang 11

II CÁC LOẠI LAYOUT MANAGER

2. FlowLayout

c. Hàm khởi tạo

public FlowLayout()

public FlowLayout(int align)

public FlowLayout(int align, int hgap, int vgap)

d. Một số phương thức thường dùng

public void addLayoutComponent(Component comp, Object

constraints)

Trang 12

II CÁC LOẠI LAYOUT MANAGER

2. FlowLayout

d. Một số phương thức thường dùng

public int getAlignment

public void setAlignment()

public void setHgap(int hgap) 

public void setVgap(int vgap)

public void getHgap() 

Trang 13

II CÁC LOẠI LAYOUT MANAGER

2. FlowLayout

d. Một số phương thức thường dùng

public void getVgap()

public void setAlignOnBaseline(Boolean alignOnBaseline) 

public bolean getAlignOnBaseline() 

Tham khảo thêm tại nguồn: http://

docs.oracle.com/javase/7/docs/api/java/awt/FlowLayout.html

Trang 14

II CÁC LOẠI LAYOUT MANAGER

3. BoxLayout

a. Đặc điểm: Cho phép đặt nhiều components theo các dòng

và các cột liên tiếp nhau Trong BoxLayout thường dùng Jpanel để hiển thị và nó có thể chứa nhiều Jpanel khác nhau

Trang 15

II CÁC LOẠI LAYOUT MANAGER

3. BoxLayout

c. Hàm khởi tạo

public BoxLayout(Container target, int axis)

d. Một số phương thức thường dùng

public final Container getTarget()

public final int getAxis()

public void invalidateLayout(Container target)

Trang 16

II CÁC LOẠI LAYOUT MANAGER

3. BoxLayout

public void addLayoutComponent(String name, Component

comp)

public void removeLayoutComponent(Component comp)

public void addLayoutComponent(Component comp, Object

constraints)

public Demention preferredLayoutSize(Container target)

public Demention minimumLayoutSize(Container target)

Trang 17

II CÁC LOẠI LAYOUT MANAGER

4. CardLayout

a. Đặc điểm: Cho phép bố trí các components thành từng lớp

như các quân bài trong một bộ bài Để chứa các components ta thường sử dụng các Jpanel Tại một thời điểm chỉ có một Jpanel được hiển thị

Trang 18

II CÁC LOẠI LAYOUT MANAGER

Trang 19

II CÁC LOẠI LAYOUT MANAGER

4. CardLayout

public void setHgap(int hgap)

public void setVgap(int vgap)

public void first(Component parent)

public float getLayoutAlignmentX(Container parent)

public float getLayoutAlignmentY(Container parent)

public void layoutContainer(Container parent)

Tham khảo thêm tại nguồn: http://

docs.oracle.com/javase/7/docs/api/java/awt/CardLayout.html 

Trang 20

II CÁC LOẠI LAYOUT MANAGER

5. GridLayout

a. Đặc điểm: Bố trí các components dưới dạng lưới, với các

dòng và các cột đều nhau, mỗi một khung lưới chỉ chứa một components duy nhất

Trang 21

II CÁC LOẠI LAYOUT MANAGER

5. GridLayout

c. Hàm khởi tạo

public GridLayout()

public GridLayout(int rows, int cols)

public GridLayout(int rows, int cols, int hgap, int vgap)

d. Các phương thức thường dùng

public void addLayoutComponent(String name, Component

comp) 

Trang 22

II CÁC LOẠI LAYOUT MANAGER

5 GridLayout

d Các phương thức thường dùng

public void setHgap( int hgap)

public void setVgap( int vgap)

public int getColumns ()

public int getRows ()

public void setColumns (int cols)

Public void setRows (int rows)

public void layoutContainer( Container parent)

Tham khảo thêm tại: http://

docs.oracle.com/javase/7/docs/api/java/awt/GridLayout.html 

Trang 23

II CÁC LOẠI LAYOUT MANAGER

6. GridBagLayout

 Cho phép đặt một component trên một số ô kề nhau theo cả hay chiều Nó hiệu quả nhưng phức tạp hơn các layout khác Các component trong GridBagLayout không cần có cùng kích thước.

 Tương tự như GridLayout nhưng thứ tự đặt các component không theo nguyên tắc sắp xếp thì trái qua phải và từ trên xuống dưới, b n c n ạ ầ cung c p thông tin v kích th ấ ề ướ c và v trí c a m i thành ph n ị ủ ỗ ầ

public class GridBagLayout

extends Object

Trang 24

II CÁC LOẠI LAYOUT MANAGER

Trang 25

II CÁC LOẠI LAYOUT MANAGER

protected void arrangeGrid(Container parent)

protected void ArrangeGrid(Container parent)

Trang 26

II CÁC LOẠI LAYOUT MANAGER

6. GridBagLayout

d. Các phương thức thường dùng

public GridBagConstraints getConstraints(Component

comp)

public Point location(int x, int y)

public void invalidateLayout(Container target)

Tham khảo thêm tại nguồn: http://

docs.oracle.com/javase/7/docs/api/java/awt/GridBagLayout.html

Trang 27

II CÁC LOẠI LAYOUT MANAGER

7. Group layout

a Đặc điểm:

 Thực hiện với chiều ngang và dọc riêng biệt Sự sắp xếp được định nghĩa độc lập với nhau, không cần phải quan tâm về kích thước theo chiều dọc khi xác định bố trí nằm ngang và ngược lại.

 Sử dụng hai loại sắp xếp – tuần tự và song song, kết hợp với thành phần thứ bậc.

 Thêm khoảng cách giữa các component một cách tự động, những khoảng cách này được tính toán dựa trên look-and-feel thực sự

Trang 28

II CÁC LOẠI LAYOUT MANAGER

 Tất cả các thành phần được lưu giữ kích thước mặc định của nó.

 Không có sub-panel được sử dụng để xây dựng trong trường hợp này.

public class GroupLayout

extends Object

implements LayoutManager2

Trang 29

II CÁC LOẠI LAYOUT MANAGER

Trang 30

II CÁC LOẠI LAYOUT MANAGER

7. Group layout

d Các phương thức thường dùng

protected void adjustForGrivaty( GridBagConstraints

constraints, Rectangle r)

public GroupLayout.ParallelGroup createBaselineGroup( boolean

resizeable , boolean  anchorBaselineToTop)

public GroupLayout.ParallelGroup createParallelGroup()

public GroupLayout.ParallelGroup

createParallelGroup( GroupLayout.Alignment alignment)

Trang 31

II CÁC LOẠI LAYOUT MANAGER

public GroupLayout.SequentialGroup createSequentialGroup()

public boolean getAutoCreateGaps()

Tham khảo thêm tại nguồn:

http://docs.oracle.com/javase/7/docs/api/java/awt/GridBagLayout.ht ml

Trang 32

II CÁC LOẠI LAYOUT MANAGER

Trang 33

II CÁC LOẠI LAYOUT MANAGER

Trang 34

II CÁC LOẠI LAYOUT MANAGER

8. Spring layout

d. Các phương thức thường dùng

Ngày đăng: 10/10/2015, 14:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w