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

LẬP TRÌNH JAVASWING LAYOUT MANAGER

Chia sẻ: Huongdanhoctot Huongdanhoctot | Ngày: | Loại File: PDF | Số trang:46

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

Tham khảo tài liệu 'lập trình javaswing layout manager', công nghệ thông tin 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: LẬP TRÌNH JAVASWING LAYOUT MANAGER

  1. LẬP TRÌNH JAVA SWING LAYOUT MANAGER Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn ĐHKHTN - 2011
  2. Nội dung  Flow Layout  Border Layout  Card Layout  Grid Layout  Grid Bag Layout  Box Layout  Group Layout
  3. 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. 3
  4. Layout Manager  Mỗi Container có một đối tượng Layout Manager mặc đị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.  Một Layout Manager chịu trách nhiệm bố trí các Component được thêm vào Container và khi Container thay đổi kích thước  Sử dụng phương thức setLayout (LayoutManager mng) của Container để thay đổi cách bố trí các Component bên trong nó. 4
  5. FlowLayout  Hình ảnh 5
  6. 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 6
  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 – FlowLayout.RIGHT; : Canh phải • hgap: 5px, vgap: 5px 7
  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 8
  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 () 9
  10. FlowLayout - Demo 10
  11. FlowLayout - Demo package swinglayoutmanager; 1 2 3 import java.awt.FlowLayout; 4 import javax.swing.*; 5 6 public class FlowLayoutFrame extends JFrame { 7 //Các control 8 9 private JButton[] jbts; 10 //Phương thức khởi tạo 11 public FlowLayoutFrame () { 12 this.initComponents(); 13 } 14 ... 15 11
  12. FlowLayout - Demo //Phương thức khởi tạo các thành phần 1 private void initComponents() { 2 //MainFrame 3 this.setDefaultCloseOperation( 4 WindowConstants.EXIT_ON_CLOSE); 5 this.setTitle("FlowLayout"); 6 FlowLayout layout=new FlowLayout(); 7 layout.setAlignment(FlowLayout.LEFT); 8 this.setLayout(layout ); 9 //jbts 10 this.jbts = new JButton[45]; 11 for (int i = 0; i < 45; i++) { 12 this.jbts[i] = new JButton(); 13 this.jbts[i].setText(String.valueOf(i+1)); 14 this.getContentPane().add(this.jbts[i]); 15 } 16 pack(); 17 } 18 } 19 12
  13. BorderLayout  Border Layout bố trí các Component bên trong Container theo 5 vùng: – "North", "South", "East", "West" ,"Center". 13
  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 14
  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 () 15
  16. BorderLayout - Demo 16
  17. BorderLayout - Demo package swinglayoutmanager; 1 2 import java.awt.BorderLayout; 3 import javax.swing.*; 4 5 public class BorderLayoutFrame extends JFrame { 6 //Các control 7 private JButton jbtNorth; 8 private JButton jbtSouth; 9 private JButton jbtEast; 10 private JButton jbtWest; 11 private JButton jbtCenter; 12 13 //Phương thức khởi tạo 14 public BorderLayoutFrame() { 15 this.initComponents(); 16 } 17 17
  18. BorderLayout - Demo //Phương thức khởi tạo các thành phần 1 private void initComponents() { 2 //MainFrame 3 this.setDefaultCloseOperation( 4 WindowConstants.EXIT_ON_CLOSE); 5 this.setTitle("BorderLayout"); 6 BorderLayout layout = new BorderLayout(); 7 this.setLayout(layout); 8 //jbtNorth 9 this.jbtNorth = new JButton("NORTH"); 10 this.getContentPane().add(this.jbtNorth, 11 BorderLayout.NORTH); 12 //jbtWest 13 this.jbtWest = new JButton("WEST"); 14 this.getContentPane().add(this.jbtWest, 15 BorderLayout.WEST); 16 17 18
  19. BorderLayout - Demo //jbtEast 1 2 this.jbtEast = new JButton("EAST"); 3 this.getContentPane().add(this.jbtEast, 4 BorderLayout.EAST); 5 //jbtSouth 6 this.jbtSouth = new JButton("SOUTH"); 7 this.getContentPane().add(this.jbtSouth, 8 BorderLayout.SOUTH); 9 10 //jbtCenter 11 this.jbtCenter = new JButton("CENTER"); 12 this.getContentPane().add(this.jbtCenter, 13 BorderLayout.CENTER); 14 15 pack(); 16 17 } } 19
  20. CardLayout  Hình ảnh 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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