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

LẬP TRÌNH JAVASWING LAYOUT MANAGER potx

46 262 0

Đ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

Tiêu đề Lập Trình Java Swing Layout Manager
Tác giả Nguyễn Hoàng Anh
Trường học Đại Học Khoa Học Tự Nhiên - University of Science, Vietnam National University Ho Chi Minh City
Chuyên ngành Lập Trình Java
Thể loại Báo cáo thực tập
Năm xuất bản 2011
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 46
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 getContentPane.add để thêm Component vào Container  Layout Manager là một đối tượng quyết định cách sắp...  Mỗi loại Layout Manager có các nguyên tắc riêng cho việc bố trí các Compon

Trang 3

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

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

Trang 4

Layout Manager

định , nhưng hoàn toàn có thể gán cho Container một đối tượng Layout Manger theo ý muốn

 Mỗi loại Layout Manager có các nguyên tắc riêng cho việc bố trí các Component bên trong một Container

 Sử dụng phương thức setLayout (LayoutManager

Trang 5

FlowLayout

 Hình ảnh

Trang 6

FlowLayout

chứa Component thêm vào

 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

6

Trang 7

FlowLayout – Phương thức thông dụng

 Phương thức khởi tạo mặc định

– public FlowLayout ()

• align: FlowLayout.CENTER

• vgap: 5px, hgap: 5px

 Phương thức khởi tạo có tham số

– FlowLayout (int align )

• align : canh lề

– FlowLayout.CENTER : Canh giữa

– FlowLayout.LEFT; : Canh trái

Trang 8

FlowLayout – Phương thức thông dụng

 Phương thức khởi tạo có tham số

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

• align : canh lề

• vgap : kích thước chiều ngang

• hgap: chiều dọc

Trang 9

FlowLayout – Phương thức thông dụng

 public void setAlignment(int align)

 public void setHgap(int hgap)

 public void setVgap (int vgap)

 public int getAlignment()

 public int getHgap ()

 public int getVgap ()

Trang 10

FlowLayout - Demo

Trang 12

//Phương thức khởi tạo các thành phần

private void initComponents() {

//MainFrame

this.setDefaultCloseOperation(

WindowConstants.EXIT_ON_CLOSE); this.setTitle("FlowLayout");

FlowLayout layout=new FlowLayout();

layout.setAlignment(FlowLayout.LEFT);

this.setLayout(layout );

//jbts

this.jbts = new JButton[45];

for (int i = 0; i < 45; i++) {

this.jbts[i] = new JButton();

this.jbts[i].setText(String.valueOf(i+1)); this.getContentPane().add(this.jbts[i]);

}

pack();

}

}

Trang 14

BorderLayout – Phương thức thông dụng

 Phương thức khởi tạo mặc định

– public BorderLayout ()

• hgap = 0

• vgap = 0

 Phương thức khởi tạo có tham số

– public BorderLayout (int hgap, int vgap)

• hgap: chiều ngang

• vgap : chiều dọc

Trang 15

BorderLayout – Phương thức thông dụng

 public void setHgap(int hgap)

 public void setVgap (int vgap)

 public int getHgap()

 public int getVgap ()

Trang 16

BorderLayout - Demo

Trang 17

private JButton jbtNorth;

private JButton jbtSouth;

private JButton jbtEast;

private JButton jbtWest;

private JButton jbtCenter;

//Phương thức khởi tạo

public BorderLayoutFrame() {

Trang 18

//Phương thức khởi tạo các thành phần

private void initComponents() {

//MainFrame

this.setDefaultCloseOperation(

WindowConstants.EXIT_ON_CLOSE); this.setTitle("BorderLayout");

BorderLayout layout = new BorderLayout();

this.setLayout(layout);

//jbtNorth

this.jbtNorth = new JButton("NORTH");

this.getContentPane().add(this.jbtNorth,

BorderLayout.NORTH); //jbtWest

this.jbtWest = new JButton("WEST");

this.getContentPane().add(this.jbtWest,

BorderLayout.WEST);

Trang 19

this.jbtEast = new JButton("EAST");

this.getContentPane().add(this.jbtEast,

BorderLayout.EAST); //jbtSouth

this.jbtSouth = new JButton("SOUTH");

this.getContentPane().add(this.jbtSouth,

BorderLayout.SOUTH); //jbtCenter

this.jbtCenter = new JButton("CENTER");

this.getContentPane().add(this.jbtCenter,

BorderLayout.CENTER);

Trang 20

CardLayout

 Hình ảnh

Trang 21

CardLayout

hiển thị

(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ị

 Card nào cũng có thể là Top Card

Trang 22

CardLayout – Phương thức thông dụng

 Phương thức khởi tạo mặc định

– public CardLayout ()

• hgap = 0

• vgap = 0

 Phương thức khởi tạo có tham số

– public CardLayout (int hgap, int vgap)

• hgap: chiều ngang

• vgap : chiều dọc

Trang 23

CardLayout – Phương thức thông dụng

 public void setHgap(int hgap)

 public void setVgap(int vgap)

 public int getHgap()

 public int getVgap()

Trang 24

CardLayout – Phương thức thông dụng

 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)

Trang 25

CardLayout - Demo

Trang 28

//Phương thức khởi tạo các thành phần

private void initComponents() {

//MainFrame

this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

this.setTitle("CardLayout");

this.setLayout(new BorderLayout());

//jpnChoice

this.jpnchoice = new JPanel();

this.jpnchoice.setLayout(new FlowLayout());

this.getContentPane().add(this.jpnchoice,

BorderLayout.NORTH);

//jbtCard1

this.jbtCard1 = new JButton("Card1");

this.jbtCard1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {

jbtCard1ActionPerformed(e);

}

}); this.jpnchoice.add(this.jbtCard1);

Trang 29

this.jbtCard2 = new JButton("Card2");

this.jbtCard2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { jbtCard2ActionPerformed(e);

}

});

this.jpnchoice.add(this.jbtCard2);

//jpnCards

this.jpnCards = new JPanel();

this.jpnCards.setLayout(new CardLayout());

this.getContentPane()

add(this.jpnCards, BorderLayout.CENTER);

Trang 30

this.jpnCard1 = new JPanel();

this.jpnCard1.setName("Card1");

this.jpnCard1.setLayout(new FlowLayout()); this.jpnCards.add(this.jpnCard1,

Trang 31

this.jpnCard2 = new JPanel();

this.jpnCard2.setName("Card2");

this.jpnCard2.setLayout(new FlowLayout()); this.jpnCards.add(this.jpnCard2,

Trang 32

layout=(CardLayout)this.jpnCards.getLayout();

layout.show(this.jpnCards, jpnCard1.getName());

}

private void jbtCard2ActionPerformed(ActionEvent evt) { CardLayout

layout=(CardLayout)this.jpnCards.getLayout();

layout.show(this.jpnCards, jpnCard2.getName());

}

}

Trang 33

GridLayout

bên trong một Grid với các Row và Column

 Tất cả các Cell có cùng kích thước bên trong Grid

 Kích thước của mỗi Cell được xác định bởi kích thước

Trang 34

GridLayout

 GridLayout()

 GridLayout(int rows, int cols)

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

Trang 35

GridLayout - Demo

Trang 37

GridLayout layout = new GridLayout(7,3);

this.setLayout(layout);

//jbts

this.jbts = new JButton[21];

for (int i = 0; i < 21; i++) {

this.jbts[i] = new JButton();

this.jbts[i].setText(String.valueOf(i + 1));

this.getContentPane().add(this.jbts[i]);

}

pack();

Trang 38

GridBagLayout

với các Row và Column

nhau

cho việc bố trí các Component bên trong Container

theo dạng Grid

thường sử dụng nhất mà Java Platform cung cấp

38

Trang 39

Các thuộc tính của GridBagContraints

Trang 40

Các thuộc tính của GridBagContraints

 anchor:

Trang 41

Box Layout

 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

– container: chứa các Component

– axis:

Trang 42

Box Layout

Trang 44

HỎI VÀ ĐÁP

Trang 45

DEMO

Trang 46

Tham khảo

Ngày đăng: 08/08/2014, 18:22

TỪ KHÓA LIÊN QUAN

w